I plugin is packaged as a jar (Java Archive) file, and is installed on the system. They have access to the innards of Jive and can pretty much do anything you would want to do. You can't install plugins in Jive cloud.
An add-on is installed differently, and is typically hosted on an external server outside of Jive. The add-on is "installed" by uploading some meta-data into Jive (they data is in a zip file), and this meta-data will tell Jive the URL of the external server, and what services this external application wants to provide. An add-on can include JiveAnywhere cartridges, tiles, OpenSocial apps, and external storage providers. An add-on has much more limited functionality when compared to a plugin, but the capabilities are sufficient for a wide range of uses. Add-ons are compatible with all Jive instances, including cloud.
BTW - One small exception. A JiveAnywhere cartridge that is installed via an add-on does not require an external server to support it. All of the other types however will.
I hope that helps.