Microsoft seems to have little discoverable content on the differences between all the different kinds of Visual Studio extensibility. The closest thing I've found to a description of the differences was an MSDN page that had a general "when to use which" list that could have been summed up with "it depends" for all cases.
I am curious because I am looking to build something with an easy to use UI that is built into the Visual Studio environment. I know roughly what I want to do, but I don't want to discount anything that might make my development easier or make the user experience better.
I've managed to exclude macros from my list, but what else is out there? I have come across the terms: Add-in, VS Packages, VS SDK, Automation, Visual Studio Service, Extensions, and Macros (I realize some terms overlap, just not sure where). I assumed it would be easy to find a "what is X used for, exactly?" page for each, but I was wrong. Can someone please give me an overview of what features each has, which may overlap, when to use what, and perhaps some good resources/tutorials? (Intended to be a general question, but if it matters, I'm targeting VS2010)
Thanks in advance.