I've been through the selection process way more times than I like, and have been unhappy with every CMS I've deployed (five of them, to date: Zope, Plone, OpenACS, Joomla, Drupal).<p>Drupal is the least bad option I've come upon, so far.<p>But, I have very wide-ranging requirements, probably beyond what you're dealing with. My minimal feature set, without which I couldn't launch: forums, documentation management (most content management systems manage large amounts of content horribly--see note below for more on that), ecommerce with hooks for tying into a preexisting license management system, issue tracker, decent search, and reasonable notifications for everything above.<p>Drupal has a few things going for it over all of the others I've tried:<p>* Cohesiveness. For whatever reason, Drupal modules tend to use the core libraries with reasonable consistency, and they tend to be written from scratch explicitly for Drupal. Joomla, the worst on this question, is the least coherent pile of code I've ever worked with; Joomla core may be mostly sane, but by the time you add any modules of any complexity, it's an absolute mess.<p>* Reasonable backend. The database is pretty sane. When it makes sense to have a central store (content nodes, for example), Drupal uses a central store. When it makes sense to have a separate table (shopping cart order stuff, for example), it puts it in a separate table. I've been able to build external tools in Perl and PHP to interact with Drupal in ways that were extremely hard in prior systems I've used.<p>* Large ecosystem. OpenACS had a handful of really smart developers, and a well-designed core, but there were always more open bugs than developers to close them. Docs for Drupal are good, finding good developers to work on contracts is easy, and the modules are generally of high quality.<p>Note about content management: We have over a thousand printed pages worth of docs, with dozens of new pages being written every month, and I've been horribly disappointed by the tools for dealing with those docs in every CMS we've tried, though Drupal is getting closer, now that I've written import tools. Joomla was the worst, I think. I ended up bridging in DokuWiki, so I could manage docs as flat files. So, while I have a lot more requirements than just content management, the content management features do get a serious workout in our deployment.<p>In short, everything sucks, but I've found Drupal to suck an acceptable amount less. I don't like PHP, but there are no acceptable alternatives in other languages.