Microsoft Exchange allows two methods for an account to access the information in another user’s mailbox.
Delegation may be familiar as it is the method one user uses to allow another user to see their calendar, or manage their inbox when they are away. It is easy to set up by a user, is granular in its scope. Individual users can grant and remove delegate access to their own mailboxes through several mailbox clients, such as Microsoft Outlook, Outlook Web Access, or Exchange Web Services-based clients. A mailbox owner does not need administrator rights to grant another user delegate access to their mailbox.
Impersonation is used in scenarios in which a single account needs to access many accounts. Line-of-business applications may typically use impersonation to access multiple mailboxes. An administrator is able to configure impersonation on behalf of a service account, and grant that service account impersonation rights over many mailboxes. Individual users cannot manage who does or does not have impersonation rights over their mailboxes.
Deciding which one to use is a big topic and you can find more information here:http://blogs.msdn.com/b/exchangedev/archive/2009/06/15/exchange-impersonation-vs-delegate-access.aspx
Corporate Contacts offers the ability to use either method to access mailboxes.