@Pullo: There are a number of reasons why I would highly recommend that developers ignore WordPress for anything other than being a blog.
First of all, I will say that it has a lot going for it. It has a great community backing it, and despite the code base it is a well-polished blogging script.
However, it was simply not designed to be a full-scale CMS. This can be seen clearly by looking at the code behind WordPress. There is a lot of poor PHP code out there, and WordPress certainly falls into that category. I believe that code shouldn’t be thrown away as scripts like WordPress have several thousand man-hours of bug fixing and development attached to it, and to throw that away would be stupid. However, in turning a blog script into a CMS script and NOW into an application framework it has become both extremely bloated and not fit for purpose.
I’ve used plenty of CMS’s over the past five years, and I’ve found the best sign of a good CMS to be how it handles caching out of the box. Install Concrete5, Umbraco, Sitecore, Drupal or any other CMS and it’ll chug along fairly nicely under fair load. Unless you’ve set up the WP Super Cache plugin you’ll find that even under minimal load WordPress is going to drain the CPU cycles from your server, and even then it’s not a great caching solution. The fact that the most popular CMS in the world will happily query a live database for EVERY bit of content is insane.
WordPress works fine on a Linux server, but try running a moderately powerful WordPress blog on a Windows server and see how IIS likes it. A simple Google search for “wordpress digg effect” or “wordpress slashdot effect” will show thousands of dead blogs and websites, simply because a CMS couldn’t do what every other CMS does first by design.
Secondly, WordPress is a haven for a entry-level and non-developers, and as such many people you find touting WordPress can’t do anything past install plugins to get features to work on a client website. I’ve known people that I considered credible developers crumble the second a WordPress plugin threw an error on their client site. Hell, a client from one of my previous companies was left without a site because a form plugin died and took their site with it. In the time it took for the developer to Google and pester the WordPress community for help we had the client back up and running on Umbraco. It goes to show that plugins may seem like a good idea in theory, but it leads to an uneasy culture of non-developers patching together websites with other peoples code, and not being able to write code to fix issues themselves. Ask your average WP developer what other CMS’s they’ve used and more often than not it’ll be either nothing or “LOL drupal sux”.
Finally, there is a huge myth floating around regarding WordPress’s ease of use. I’ve yet to see a single formal study to suggest that it is more usable than any other CMS. In fact, given that WordPress is still ultimately a blog I find that clients are often confused about the structure of their site in WordPress, where they can modify settings for their site and the whole post/page difference. It’s almost 2013! Even the lumbersome Drupal is dragging itself into being more usable for both developers and users. You say that WordPress’s workflow is easy, but that doesn’t mean that every other CMS under the sun isn’t that easy. Hell, I use a ten year old enterprise CMS called Sitecore and that’s as simple as click the content item and edit.
I could carry on for hours, perhaps even days. The point I am trying to make is that WordPress is not a CMS by design, and that the first rule of development is to use the correct tool for the job. Building a site in WordPress is like writing a book on post-it notes. You could do it with minimal fuss, but soon you’ll want to do something like number the pages or switch page orders, and you’ll wish more than anything you used paper.