If memory serves, Drupal’s lead dev summed things up like so last summer: Drupal is, on the UI front, where WP was 3 years ago; and WP is, on the feature front, where Drupal was 3 years ago.
My own experience with WP and Drupal are basically so:
- WP has a prettier/easier UI.
- Drupal is more robust: core and add-on devs are rarely writing code to learn PHP.
- WP is still stuck in old PHP4 paradigms. Drupal isn’t.
- WP development is still not unit-test driven. Code quality is, at best, inconsistent.
- Drupal is mostly EAV-driven. This makes things much more flexible… and slow for anything requiring complex queries. (Drupal compensates this by having built-in caching.) WP is heading in the same direction.
I can’t really say for Joomla. I dismissed it years ago because I hated the UI. But everyone here probably has a trustworthy friend who is very happy with it.
As to what I tend to use:
- For a blog or a simple brochure-like site, definitely WP.
- For a slightly more complex site, also WP — but an inner voice always tells me I should be using Drupal instead.
- For anything really complex and mission critical, a unit-test driven PHP framework (Symfony, Solar, Yii…). UI will end up so so, but I like to sleep at night.