For years and years, I developed web sites with ExpressionEngine. EE is great: I love it. I started with something like 1.2 and worked my way up to version 2.10. The ease of creating templates, and pulling in database content into those templates, just really fit my brain and method of developing web sites.
The one–really significant–drawback was (and is) updating. Updating EE from version to version is painful.
Meanwhile, using WordPress was just OK. Updating was easy, but modifying the templates to pull in the data you wanted? Painful.
Put it this way: creating a site to hand off to a client was easier with EE. Maintaining a site in a partnership with a client was easier to WP.
But now, I’ve found the Bones theme and I’ve discovered the Advanced Custom Fields plugin. (Seriously, you should buy that.) Both of them together–or really, just ACF–make developing for WP a dream and a breeze.
Is the WP code a mess? Sure. Is it easy to install a plugin that can bring your site to its knees? Oh yes.
I don’t care. I’m still all in on WordPress.