Gadgets are small widgets listing various data, often in a graphical or tabular way (for easy overview). They were introduced for the new Dashboard functionality in CMS 6, though in EPiServer 7.x, they can also be added to the various panes in edit mode (navigation pane, assets pane). Gadgets are developed using MVC. EPiServer comes with a number of built-in gadgets.
Plugins are small extensions to either edit mode or admin mode. Typical usage for plugins are extending the global menu, adding Dynamic Content controls, creating Scheduled Jobs, creating Admin Tools, or storing global settings for your application under Admin > Config > Plugin Manager.
Add-Ons are the new "one-click-install" concept introduced with EPiServer 7 along with the Add-On Store. Add-Ons can be any type of gadgets for the dashboard/edit mode panes, plugins for admin mode/scheduled jobs etc. app To show up in the official feeds in the Add-On Store, they have to be tested and pre-approved by EPiServer. (You can add your own feed to the Store also). Add-Ons are developed using MVC.
As the subject says: What is the different between a gadget, plug-in and an add-on?
Please let me know! :)