Now I'm still an advocate, so I look at this as "where CiviCRM needs to improve" rather than reasons not to use CiviCRM. ;)

1. CiviCRM needs a bigger and better ecosystem. We are growing, CivicSpace 0.8.2 integrates CiviCRM with content management, events, volunteer management and more. Consulting firms like Trellon and CivicActions are using our technology and contributing back to support the ecosystem.

Exciting announcements are around the corner, including the first monthly hosting providers of CiviCRM solutions, support for new content management systems and an expansion of the consulting firms that support our technology.

2. CiviCRM needs better documentation. Jon Stahl rightly called us to task by posing the question "If an API gets built but not documented, can it be said to exist?" Now our APIs and the rest of our software is documented, but it could be far more thorough and easier to use.

3. We need to build out functionality closer to the user. CiviCRM is powerful and configurable, but how do you configure it to be a useful donor management system?

We can't be truely sustainable in the nonprofit sector until:

A large number of consultants are familiar with and use our tools, including strategic and implementation consultants.

Nonprofits can pay $X /month for a hosted solution or $Y for a local install. AND X & Y are as low as possible.

Robust and reliable documentation, training and support is avaliable from a variety of organizations, both NTAPs and commercial firms.

People that extend CiviCRM contribute their innovations back to the community as open source software.