rocknbil - 5:27 pm on Dec 10, 2010 (gmt 0)
The recommendation of a CMS is only really valid if a requirement of the project is if non-technical personnel will be maintaining the site. Otherwise, from a coder/programmer standpoint, I don't agree either, and here is why.
I work in an environment where CMS-based websites are not a feature, they are an expectation, the norm, i.e., every client expects a web based administrative control (and in 99% of the cases, fails to do anything with it after deployment, deferring updates to us - go figure.)
But there's more. On a deadline, the simplest distraction can kill you with a CMS. A few times I've been in a hurry and updated the wrong page with another page's content, or when I thought I was in "add" mode I've actually edited an existing page. Once the database has been updated it's gone*, do it over, there is no undo, no backup copies, and it requires a different awareness than working with static files.
CMS's have a "black box" aspect to them. For example, Wordpress plugins, modX modules, and similar add ons for other CMS systems are awesome - when they work. When they don't, there is seldom any rich methods of debugging them. The support documentation is seldom complete or up to date, and when it is, it's only in respect to "when things are working." Most of the forums for these CMS's and their respective plugins are sometimes unresponsive, or responsive by elitists that point you to the documentation that you've already read - with a vengeance. :-) When things go wrong with a plugin, there's nothing I dread more than poring through hundreds of thousands of lines of someone else's code to figure out why.
<personal rant>Most of my "old clients" have required some form of protection from form abuse/spamming. I'm happy to say that for years, their inboxes have remained spam free without the use of CAPTCHA. I've many posts here on how I do this - but I have always felt that CAPTCHA, and even simple challenge/response in forms ("what is two plus eight?"), is an absolutely unnecessary barrier for your users. What bugs me most about CMS's is their code is so convoluted it's nearly impossible to apply these principles, and even if I could, it would get nuked with the next update. Which leaves CAPTCHA as the only solution, and I think that COMPLETELY sucks.</personal rant>
Then there's the added resources required. Just yesterday we'd planned to use a particular CMS for a new project, but the PHP version is outdated and the ISP is not willing to update it or add the modules required we will need. Sure, this ISP sucks, so let's move it to a decent one - but who's going to pay for that? Who's going to accept the added responsibilities of moving all their email accounts, going out to their office to set up their Outlook clients? All for a CMS they will likely never use? This is just one scenario where the CMS-in-the-middle is a pain we don't need.
Let's not forget security issues; I know, keep it up to date, act on the updates/upgrades, but still, these are targets.
I'm not saying CMS's are bad, I work with them daily, learning new ones as I go along, and for most users who don't know (and don't want to know) how to code, it's really the way to go. But if I had a choice - heck yeah, 600 pages static, let's do it. Solid, reliable, less security issues to worry about, not a single thing wrong with it.
*Some CMS's do have backup capabilities, but many don't; you get my point, I hope.