Lately, I've been using Drupal and it is monumentally better. The API (really the hook system) is small and flexible. There is a module for almost anything you can think of. Nine times out of ten you don't need to do any coding at all to get almost any behavior imaginable (CCK and Views alone are tremendous). As an added benefit, the community is very strong and receptive.
Having said that, if its a simple blog, Wordpress is probably your best bet. Its a bit friendlier out of the box from a user perspective. I have no experience coding for Wordpress and I don't have any experience with Expression Engine, so can't comment there.
Joomla - for a run-of-the-mill CMS
Drupal - for a more complex CMS
Expression Engine - for extensive PHP hacking it is based on CodeIgniter and designed using MVC
It really depends on what you want to do with it.
Well, even for less simple blogs -- for example Techcrunch is built on Wordpress.
The rest are decent, depending on your exact needs. I find Drupal a bit heavy for non-techies unless you spend some time removing stuff from the admin side that they don't need. I try to use Wordpress over Drupal when I can.
Joomla has been horrible for me. I get mad every time I touch it. That has kept me from overcoming the learning curve to get it working.
Drupal seems to be a nicer hacker platform, but the interface has been a huge problem for making it a decent solution for clients.
Wordpress has a great interface and good backing but it's still a little targeted to being a blogging system for me.
My preference is ExpressionEngine. It's interface is great, though not perfect. It's well suited as a general CMS. It's easy to extend but the "framework tools" are a bit lacking. The next version will be much better for extending because it will be built on CodeIgniter. Also, ExpressionEngine has support available.
For a simple 5 page site + blog with frequent updates, I'd say Wordpress. There are lots of plugins and templates are very easy. It's the only blogging software I'd recommend for a basic blog.
For a site with a lot more content, Drupal is a more robust option. It's really easy to expand with modules for blog, forum, shopping cart, etc. I find the template system more confusing than Wordpress.
If your website is simple, Wordpress is probably the route to go. In fact, it's the most popular CMS system precisely because it services the needs of 80% of websites. You can get off the ground with Wordpress in minutes.
If your website is complex and will likely get even more complex with time (such as a news website), you should consider Drupal. It offers more flexibility but the trade-off is that it requires more time and technical knowledge to get going.
But I would say it depends on your needs, either way.
(self-promotion, but hey, it's open source! :)
SiteCore, TeamSite, TypePad, Blogspot?