For example, Firefox uses add-ons whereas Microsoft Office uses add-ins. I've seen all 4 versions (add-in, addin, add-on, addon) used in various software programs, but I wonder if all of them are interchangeable. May there be cases where they convey different meanings?
These terms do not have standard meanings.
Plug-ins (it seems inevitable that "plugin" will become standard, with no hypen, as hyphen dropping often happens to hyphenated words) are things that you can add onto something else.
Add-ons/Add-ins are also things that you can add onto something else.
Yet Firefox has both Add-ons AND plugins and they refer to different things. Add-ons are (loosely speaking) extensions to the browser (such as Ad-Block) and plug-ins are extensions to the renderer (such as Flash).
I'd consider these terms synonyms, and depending on your audience I'd consider choosing just one, unless you need to conform to someone else's terminology:
It's either addon or add-on or plugin or plug-in.
Do not mix the ons/ins interchangeably!
EDIT: "Add-in" seems to have been coined by Microsoft, although "addin" seems to bear a different meaning and isn't suitable as a synonym. My recommendation? Don't use "add-in" at all.