It's Open Source, so if you have the money, it can do anything
We've been using CiviCRM for over 5 years. Out of the box its ugly and practically unusable, so it must be customized (cost for a developer who knows how to code). Because we needed it to integrate with a few proprietary systems of ours, we are fortunate to have some developer help. I would not recommend Civi for any organization wanting instant usability, or small or poor non-profits.
UPDATE to above 2015 posting: we're still chugging along with CiviCRM, and still stand by our review. It's very powerful for customization, but you need a resource - employee or contractor, latter of which there are many - who knows what they're doing. Open Source software is free, like puppies! All in, however, we believe we have spent less for CiviCRM than what we would have spent with one of the mid/larger AMS providers. CiviCRM is becoming more and more useful, as the worldwide Open Source community has done a considerable amount of updates, e.g., new modules and capabilities that are configurable, e.g., quasi-out-of-the-box ready.