There are very many extensions available for Joomla!. Some are excellent and some are not so great. Some are available as commercial licenses (read "to be purchased"), some are donate-ware (you have to donate some amount before being able to download) and most are free (and exist courtesy of donations).
The form of any extension is a module, a component, a mambot (soon to be called "plug-in"), a template or a language. And, yes, some extensions are a package of two or more of these things.
They all work basically the same way. You find the extension you want. You download it to your own computer (or sometimes commercial licenses are mailed to you). The files are almost always zipped or packed in some way or another and unless it says "unzip me first", they are left and installed "as is". To install them, you login to the adminstrator's side of your Joomla! installation. You go to the "installers" menu and choose the appropriate category (module, component, ...). You browse for the file in question. You hit "install".
When things go well, you will see some sort of "success" message. Sometimes you will also see additional information. Sometimes you will be taken to an additional configuration/set-up screen. And sometimes things fail for one reason or another.
Assuming success... freshly installed templates will be ready to be selected through the "site:templates" menu. Freshly installed modules will be ready to be published via the "modules" menu. Freshly installed mambots/plug-ins will be ready to be published in the "mambots" menu. New components will be ready to be configured under the "components" menu. And, new languages will be available for use under "site:languages".
That's basically it other than to mention that sometimes components will themselves be set-up for the installation of additional plug-ins. Community Builder is an example of that. To install component-specific plug-ins, this is (almost) always done via the "component" interface.
A good extension is one that works as it says it will, does not conflict with other extensions (or Joomla! itself), has good documentation, has good support and allows me to configure the aesthethics to my own liking (meaning following overall Joomla! styling standards). And, although I appreciate product evolution, I do not appreciate needing to update things too often. I certainly don't appreciate updates that undo past work I've done.
To that end, you can see the extensions I use on this site on the "about this site" page at
http://www.with-created-expression.com/j/index.php?option=com_content&task=view&id=17&Itemid=46 and you can see the extensions I support in the catalogue at
http://www.with-created-expression.com/j/index.php?page=shop.browse&category_id=8&option=com_virtuemart&Itemid=37. I have opened forum topics for, I think, all of them as well.
I have been working with this for a while now and, as such, have forgotten some of the road I travelled to get here. So... if you have any questions about any of this, please don't hesitate to ask. Sometimes even tripping over the glaringly obvious doesn't make me see it any more clearly :o)