Edit September 1, 2017:
Things have changed since I wrote this article and I no longer turn to ExpressionEngine first. CraftCMS has taken over in a big way.
The developer’s toolbox
Content Management Systems are just a means to an end; another tool in the toolbox. Which do I use and why?
The workhorse: ExpressionEngine
I generally prefer working with ExpressionEngine. Sadly, EE is Commercial, so I have to buy a license for every website I build with it and I often end up purchasing additional plugins to cater to the specific task of the website. I’m not a fan of that—it means spending money that I could otherwise pocket—but the benefits outweigh the cost.
EE stands alone in its template system and custom fields; I have yet to find anything that comes close to EE's elegance and simplicity in this area. Add that I have found it the easiest for my clients to understand how to use, and I didn't need much convincing to make it the go-to CMS for me. Beyond that, the documentation is great, as is the support, and the plugins for are top-notch.
The backup: Wordpress
I used Wordpress for many of my websites before moving to EE. It was initially built to be a blogging platform, but it's really come into it's own as a CMS over the years. Wordpress is Open Source, has a large developer community, is well documented, and it can handle a wide range of website types. I’m a fan of it, but I’ve stopped using it as my preferred CMS. My main reason for this was that I found myself always hunting for ways to tweak things in the templates and fields to get them “just so”.
I’ve heard that the new version of Wordpress addresses many of the things that made me start looking for an alternative, and I look forward to checking it out when it's released.
When there's no other choice: Drupal
I’ve also used Drupal on a couple projects. It’s Open Source, has a huge developer community, tons of modules, and can handle just about any website you want to build, but I couldn’t get away from it fast enough. I know developers that love Drupal like it was one of their own children. I’m not one of those people.
The time it took to figure out how to make the system work and train clients on how to get the results they wanted was too great. It felt like I was playing a game of Twister with a giant spider; I was guaranteed to lose and get bit in the back-side. I only bother with it now because I haven't come across another platform that handles granular control of a large publishing community anywhere near as well.
In the end, tools are tools
It’s hard for me to get defensive over the price of a screw driver. If it doesn't work well for you, its price is irrelevant. In the end, so long as the tool is appropriate for the task, I don't see what it matters if it's Open Source or Commercial. What CMS do you prefer? Why? What's most important to you in a CMS?
Photo credit Lohb