After having used many CMS (Drupal, Joomla, spip), wikis (DokuWiki, PmWiki, MediaWiki, MoinMoin) and blog engines (Wordpress, DotClear), I decided to extend my knowledge of DokuWiki by using it also for this blog. My motivation is to develop an expertise which is reusable in other contexts, although I will continue to use several of these.
Why especially DokuWiki? Here is my rationale in a few words. Alongside, I will give strong points of all these solutions in case it helps some to filter them for their usage.
Why Drupal is a very good CMS allowing a great deal of customization and extension, I found it to be overcomplicated. To add things such as ACL permissions or editorial work-flow, you have to find and install the right modules which are not easy to find. Moreover, I observed that plugins (and Drupal core) were often missing hooks and that I was obliged to modify code directly to obtain what I wanted. Finally, the interface presented to content authors remains complicated, compared to other solutions.
Joomla is quite similar to Drupal in functionality. It is simpler, but also more limited. If I was going for a complex CMS, I would rather use Drupal. It could however make a better fit for simple sites if their users value simplicity.
Spip is well suited for journals with editorial work-flow. However, it is difficult to customize and extend to build sites sites other than journals (or blogs). The squelette (read template) concept is a mixed blessing. On one hand, it makes yet another language to learn, but it is simple and makes page templating rather easy. One small thing that bogged me is that code is written and commented in French (with some plugins in other languages, each developer writing code in its own native language). It makes the code less likely to be audited or developed by reducing the audience, and I don't like switching constantly from English (PHP keywords) to pseudo-French (French without accents is like a banana split with no chocolate nor Chantilly).
DokuWiki is an impressive piece of software. It is very user intuitive and stylish while rather easy to customize or extend. It is a bit simplistic for some things but I can live with that. I prefer a simple solution to be extended if needed than complex mechanisms harder to grasp and maintain. One other advantage of its simple design is that I can easily generate pages with external tools (e.g. from some database).
PmWiki is the solution I liked the less. It is feature packed, and nothing in particular was especially horrible with it (except its authentication module which sucks). However, I don't feel any enjoyment using it. Maybe it is that every thing works more or less but nothing is really cool or even above average. It may also just be that it doesn't suit me, software is also a matter of personal preference.
MediaWiki uses a database natively (Dokuwiki and PmWiki both uses plain files). It is alleged to be an advantage for performance (it may be, but I did not managed sites large enough to observe performance problems with the other two either). MediaWiki also has a nice interface which is familiar to regular WikiPedia users. However, the big problem with MediaWiki is that it is too open for many sites. It was designed to be open and security is hard to backport in this context (see the warning on the ACL plugin page).
MoinMoin is different mainly because it is written in Python. It is a language I like but, at the moment, it is also a pain to install and run efficiently with some hosting providers. MoinMoin has a nice macro system, and actions which can be (ab)used to define custom content types (à la Drupal). However, the documentation does not always make it easy to write your extensions. The interface is also a bit too simplistic. Most settings are either set directly in PHP files, or using dedicated keywords in page source. DokuWiki presents these settings graphically. While power users would rather like the MoinMoin approach, I feel most users are more happy with buttons, check-boxes and the like. I would say MoinMoin is a very promising solution, but not yet as mature and intuitive as DokuWiki.
Both WordPress and DotClear are very nice blog engines. Although they could be (and are) used for other things than blogs, I feel it is their main selling point. Other solutions are probably easier to tweak for sites which are not blogs (these are the solution I have the least experience with).
No flamewars, please! I only presents here solutions that I found interesting, and the one I like least is still largely above the tens of other solutions I looked at. I am sure there are other good solutions I didn't looked at. I can only report about systems I have an experience with (I don't have time to test other solutions for the sake of it).
It is also clearly dependent of usage, these applications are not even in the same category (a CMS is not a Wiki which is not a blog). My blog would probably have been easier with WordPress or DotClear than with DokuWiki (and was not so difficult with Drupal before). I use several of above applications in different contexts. I settled on DokuWiki for this blog in order to develop an expertise with it, just because I cannot become (and stay) an expert in ten different apps.
While DokuWiki is wonderful and versatile software, it is all a matter of taste. I found it appealing to me, but go decide for yourself.
Finally, choosing a content management system is just a starting point. What is important is writing content (and eventually extension code), not debating endlessly on the CMS / wiki / blog software to use!