One of the worst things that you can do in CRM is have duplicate e-mail addresses. For example, you never want to have the same e-mail address on a user and a contact record, or on a contact and an account record. The reason is that CRM for Outlook and the e-mail router use the e-mail address of incoming and outgoing e-mails to resolve which records to track the e-mail against.
If, for example, you have the same e-mail address on a contact record as well as that contact's account record, when an e-mail comes in from that user, CRM will not know which record to set that e-mail regarding. The e-mail will track, but it will not be associated with any CRM records (what good will that do?). Use the SQL script linked below to quickly identify if you have duplicate e-mail addresses in your system, then edit those records in CRM to correct the problem.
Here is a SQL script that you can use to identify if duplicates exist in your CRM database. Just run the script against your MSCRM database: http://blog.customereffective.com/blog/2008/01/find-duplicate.html
Note: Each SQL query is best run separately. Make sure you are running the query/script only, and not the title or explanation of what each query is to do.