Glossary
Extension
A package that adds features to TYPO3, from the sitepackage to a search engine integration.
What an extension does
TYPO3 ships a core and lets almost everything else be added through extensions: forms, news, search, connections to other systems. The configuration and appearance of a particular website also live in an extension, the sitepackage.
Technically an extension is a directory with a description file and whatever contents it needs: PHP classes, TypoScript, Fluid templates, TCA additions, images.
Where extensions come from
From the TYPO3 Extension Repository, from commercial suppliers, or from the project itself. Today they are installed through Composer, which also resolves the dependencies between them.
Those dependencies are exactly why installing one extension rarely stays at one: some bring others along, and every one of them wants carrying at the next update.
Every installation is a commitment
At a jump to a new TYPO3 version, the effort rarely arises in the core but in the extensions: each needs a compatible release, otherwise you need a replacement or a solution of your own.
So the same question is worth asking before every installation: is this genuinely needed, is it maintained, and what would getting out of it cost? The guide Evaluating TYPO3 extensions covers this at length.