There are different types of extensions available for use in your Joomla site. Review this list of the different types
Components are the largest and most complex of the extension types. Components are like mini-applications that add functionality to the main body of the page. An analogy that might make the relationship easier to understand would be that Joomla is a book and components are chapters. Each chapter (or each component) adds a major feature to the book (the website). Popular components include forms, shopping carts, content management systems, image galleries, blogs, etc. Components most often work directly with the database of the site, and many times a component will also include modules or plugins. Once components are installed, they will appear in the "Components" menu in the Joomla administration area.
Modules are more lightweight and flexible extensions that extend the functionality of a component, but they aren't necessarily dependent on a component. Modules can be independent extensions that still extend the functionality of a site. Modules are the building blocks of a Joomla site and can be assigned to different module positions that vary from template to template. To continue using the book analogy, a module can be looked at as a footnote or header, or perhaps an image or caption that can be viewed on one page or on several pages. Once a module is installed, it will be accessible through the "Module Manager" in the Joomla administration area.
Plugins are smaller extensions that manipulate data that is already inside the Joomla site. Plugins usually act behind the scenes; they do not display data directly. They are used to trigger an event and use data from other sources like site content, modules or components. A plugin is a section of code that runs when a pre-defined event is triggered. Using a plugin allows a developer to change the way their code behaves depending upon which plugins are enabled. Once a plugin is installed, it will be accessible through the "Plugin Manager" in the Joomla administration area.
Extension-specific extensions run on top of another third party extension. Most of these types of extensions are installed through the Joomla Extension Installer or through the third party's custom installer.