MS CRM has a long way to go in my opinion. We were using Siebel although it was really WAY to big for us. But, atleast the functionality was all there.
In CRM, some of the basic functionality is still missing. For instance, if I enter service calls against a contact under an account the case is associated with the contact only. I cannot go the account and view all cases for the account. I will only see cases entered directly against the account (not contact). I could be missing something as I don't implement CRM, just use it...as little as possible.
We have an email go to the contact saying the case has been closed and then a follow-up email a couple of days later with a survey. That feature is cool but since we have to enter cases under the account, we have to keep overriding the account's email with the contact's address for that case. This is a problem if two consultants (or even one) are working with two or more contacts at the same account.
CRM is still not easily customizable and I personally do not like sending emails through CRM and not being able to see it in my Outlook sent folder.
Also, I think when emails come back to you on a CRM case they reference the long CRM number but are not automatically associated with the case. You can probably tell that I don't use it much anymore but check those things out if you consider MS CRM.