Modules, Components, Plugins together compromise Joomla extensions. This post on Joomla extensions covers the definition, needs and differences between various extensions.
A plugin is the extensions that help in executing codes in response to certain events. These events may be either Joomla core events or custom Joomla events which are triggered by the code that is used. A plugin is a powerful way of extending the basic Joomla functionality.
Components are the main functional units which are displayed in the Joomla template, just like the contact forms and Weblinks. They are usually displayed in the centre of the main content area depending on the template.
Modules are lightweight and flexible extensions used for rendering pages. Modules are usually less complex and used to add some extra functionality in the Joomla template. Sometimes modules are interlinked with components.
All components, modules, plugins and templates are collectively termed as Joomla Extensions which can be found on Joomla Extensions Directory (JED). You can either use premium and free extensions or use custom made extensions in your website. For premium and custom extensions, request a quote today.