In essence, VSTO supports Outlook by providing two things:
The Visual Studio project system now allows you to create a dedicated Outlook add-in project directly in either C# or Visual Basic .NET. To create a project, just go to File/New/Project/Office/Outlook Add-in. When the project is created you immediately get a reference to the root Outlook application object with startup and shutdown methods via the ThisApplication class. From this class you can access the entire Outlook object model. VSTO Outlook add-ins provide a simpler interface than IDTExtensibility2 so very often you'll really only need to write code into the Startup and Shutdown event handlers. The mandatory Hello World add-in looks like this:
public
Debugging the add-in is easy too – just press F5 and Outlook will start and automatically load your add-in. The project system also creates a convenient setup project so that you can easily install your newly crafted add-in on another user’s machine.
The loader, on the other hand, provides a consistent, robust and secure mechanism for deploying and loading managed code add-ins into Outlook. The loader provides the following benefits:
Andrew Whitechapel has written an excellent article that describes in some detail the add-in loader architecture and the benefits it provides.