Because any automation effort with Visual Studio starts with the object model, you should first understand how it maps onto the IDE constructs and determine the exact capabilities it exposes.
In general, you can think of the object model classes as being organized into categories that directly speak to these IDE concepts:
Solutions and projects
Windows and command bars (toolbars and menu bars)
Documents
Commands
Debugger
Events
Each of the objects in these categories touches a different piece of the IDE, and access to each object is typically through the root-level DTE2 object.