A plugin is a kind of Joomla! extension, in fact the smallest building block of a Joomla site. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events.
When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of the Joomla! Framework. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible. Generally speaking plugins are easy way to extend Joomla, and insert additional functionalities in various parts of a Joomla site.
In Joomla! 1.5 and Jooml;a 1.7, plugins now have much broader capabilities than the original Mambots. Plugins are able to extend functionality at the framework layer as well.
Prior to Joomla! 1.5 plugins were known as mambots.