Joomla plugin is one of the extension type driven by events. One can hook code to these events and as the events gets triggered by the framework the hooked code gets executed.Because of this event driven programming the plugins provides facilities of modifying almost all aspect of other extensions. For example you can modify the rendered data by the extension; component.
These series of articles will teach you the art of Joomla! module writing. From the very basic module type to advanced module creations.