A solid open source solution that our company adopted was SugarCRM. We liked the open source nature and the vibrant community of developers. We also liked that there were hosted and professional licensed versions.
In fact we -- and our clients liked it so much that we added a business line and became a SugarCRM partner to resell it. So, for disclosure -- I am not a completely disinterested "expert" on the issue.
It fits into our overall solution for clients because of it's ability to bridge to so many of the other solutions we use (Joomla for CMS, QuickBooks for Accounting, GoToMeeting for Presentations, Google Aps for email/calendaring, Outlook for the old school folks) In many ways it serves as a vurtual-ERP for our marketing-centric clients.
More than a Contact Database
As a contact database it is a little over kill-- but if the goal is to develop, improve and polish an overall customer relationship management with outbound campaigns, and tracking, with forecasting and case management then I think a real CRM is the right choice.
Email Delivery Issues
On the issue of emails -- we have some clients on hosted solutions which use SugarCRM's email servers. We have others on hosted solutions which use their own email servers. And we have still others that host their CRM locally and use their own local email servers. (SugarCRM does bridge with Google Docs-- we don't have experience with a client using Google's email servers within the CRM yet). What I have learned is that assuming good email management, good IP management, go monitoring of various "permissions walls" -- then the delivery rates are about the same. There is a statistically significant difference for our clients sending to business accounts versus personal accounts with better delivery on business accounts.