Add-ins provide a mechanism to extend the core functionality of an application so that the new functionality will be available throughout the application. The key to writing effective add-ins in Office is to develop them so they look and feel like a natural extension to the Office application. A few examples of what add-ins can do in Office include the following:
Functionality that only needs to be available for one particular document or template type is better written using the code behind a document pattern. For example, if sales information only needs to be retrieved when working with a Quarterly Report.doc file, it is better to put your code that retrieves the sales information into code behind the template or document for the quarterly report. This is an example of choosing the right context for your code. There is no reason to clutter up the application context with commands that are only used for a particular document or template.