The greatest strength of Content Management Systems is that they allow non-technical people to manage websites. However, this is also their greatest weakness. There are several aspects of website management that really require a certain level of technical knowledge to do properly. Care needs to be taken to ensure that the use of a CMS doesn't leave these aspects to people without the necessary expertise.
In addition some CMSs do not, by their design, follow best practice guidelines in various areas. Other problems my stem from a lack of flexibility within the CMS system. Things may have to be done a certain way, with a lack of options for customisation. Do not assume that even polished commercial products will produce technically sound output.
Also remember that having a convenient content-editing system won't always increase user willingness to contribute. So if this is one of you main reasons for adopting one, you may want to re-assess.
Content management systems automate much of the more routine side of the construction and management of the site, leaving you to concentrate on the content. However, not all follow best practices in regards to the output produced and it is often not an easier task to customise a particular CMS exactly to your requirements. The main areas of concern are discussed below.
Some Content Management Systems have pretty poor inbuilt URL schemes for the pages they produce. Which of the following would you prefer for the URL of your "about" page?
http://www.example.org/index.php?option=com_content&task=view&id=25&Itemid=1
http://www.example.org/about/
Not only are such URLs less usable, they don't instill confidence in the minds of users, and are practically impossible to transcribe verbally or by physical media. Also, if you're changing to a CMS, do you really want to have to change all your URLs that people may have bookmarked and that have accumulated page-rank? A related issue is whether the CMS system has any inbuilt mechanisms for handling the management of the URL space with regard to moving or renaming pages. While we all know that Cool URIs don't change, the real world inevitably leads to some changes being necessary.
For further details of the importance of getting URLs right, see the companion essay: URL Design and Management. While it would be trivial for most CMSs to store a more humane URL in their database and implement a URL rewriting scheme, many do not do so. Making the necessary changes as an end user may not be that simple.
CMSs, or templates for them, will often include facilities for generating basic page elements, such as bread-crumb trails, titles, menus, etc. Before committing to a particular solution, you should make sure that such structure is acceptable to you, or that you're happy to make any necessary customisations yourself. For details of best-practice in these areas, see the companion essays Structure and Order in Web Pages and Website Navigation Mechanisms.
CMSs often have trouble producing valid HTML markup from the content that's provided to them. Is the tag-soup that some produce acceptable to you? On top of any validation issues, there are potential problems with semantics, separation of presentation, and accessibility of the output. In the UK at least, the Disability Discrimination Act makes it illegal for owners of sites providing any sort of service (which covers just about any website) to the public not to take reasonable steps to ensure they're accessible to those with disabilities.
Even if the CMS forces valid markup, does it have the necessary facilities to give the correct semantic representation of the input provided? Are you able to mark up abbreviations, keyboard input, code samples, quotations correctly? Can you use definition lists and add CSS style classes where needed? If not, the ability of the CMS to produce semantic and accessible output will be severely compromised for all but the simplest of sites.
This isn't a direct problem with CMSs, but an extra consideration if you're going to use one. Many people don't appreciate some of the technical aspects of writing content and managing websites. Are you expecting such people to contribute to the site via the CMS interface? Some particular issues are highlighted below, and for more information about the considerations web authors should be making, see the companion essay Good Practice in Web Page Authoring.
Most people, even those with a formal authoring background, don't appreciate that writing for the web is very different from writing for other media. If you're expecting a CMS to immediately allow lay people to manage a site with no technical oversight, then think again. Someone who knows what they're doing will still need to vet the content, and at least some form of training will probably be required.
Related to the previous section, is the more technical side of web content markup. While the CMS may look after much of the actual HTML markup behind the scenes, it's still necessary for the input to be formatted with appropriate hints for headings, lists, links etc. Content providers will need to educated as to the need for semantic formatting using whatever markup the CMS supports. In other words, proper use of headings and lists, how to apply emphasis without using all-caps, and selection of suitable link text.
If people are to learn all this, how much more of a effort is it for them to learn how to use simple HTML for marking up paragraphs, lists, headings, emphasis? Such markup will not be completely dissimilar from any particular CMS markup system (WYSIWYG editors excepted) and will undoubtedly be a much more useful and transferable skill to have.
The final part of running a website where technical experience is a real must is designing and maintaining the site structure. This involves choosing how to split content into pages and sections, and then assigning URLs and meta data. Again, this is not something that can be done by less technical content providers, and leaving it up to them may get you in a mess.
This is a serious problem with many CMS systems. With long-running organisations, things are bound to change over time, and whatever CMS system was the most suitable when you set out, may not be the most suitable three or five years down the line. Extracting your data (not just content, but also meta data too) from the original CMS system and inputting it into the new one may not be a trivial task.
When investigating CMSs, you should therefore consider the data architecture, and what tools are available for extracting the data. If nothing else, is the system open and well documented? You should also avoid hosting you content on servers/accounts that aren't under your control. If the provider goes bankrupt, or you have a falling out, you may not be able to get at your content at all.
Don't get me wrong, Content Management Systems can be a very useful tool in managing websites, and encouraging input from less technical savvy people. However, at the same time, you invariably have to sacrifice some degree of quality and control. Think very carefully, as you may end up loosing more than you thought you were prepared to.
Before making any decisions, find someone knowledgeable that you trust. This person should have several years experience with running sites both with and without Content Management systems, and ideally should have no vested interests in your project. Look around at various options, and if possible try them out and talk to other groups who are already using them.