Add-ons are like growths, and Extensions are like cancer.. An Add-on is like a benign tumor that grows on the browser adding stuff to the browser that wasn't there before. Extensions mutate the existing features of the browser into something more useful. Maybe I should call them gene modifications. Plug-ins and add-ons are sorta synonymous, but when it comes right down to it, we'll call them add-ons.. But if you desire the separation of terminology, which is tougher in the creation stage of technology than it is in the inter-social semantic aspect, then let's say Plug-ins are like body-modification, like that guy who decides he wants to put a horn in the center of his forehead so people will call him pegasus-man. No, I'm being silly.. Plug-ins are usually pre-compiled code that is called by the browser when a file is loaded but the plug-in either utilizes the in-browser GUI or replaces part of the browsers interface to it's own GUI elements. It's up to the plug-in designer to choose whether to blend in with the browser design or go in an entirely different direction. Leaving the user to have to obtain a skin that makes the browser look like the plug-in, though I have no example of this I know its possible and I know I've had plug-ins where the interface elements were wildly different than the Windowing interface and the browser's interface.
Plug-ins are like tape-worms, or leeches, or well you get the picture.