This site uses Drupal. Drupal has turned into a nightmare. It was fine when there was a single 4.x version out there, but soon after 4.x, there was 5.x. Then 6.x. Upgrading from a older version is near impossible.
There always was the assumption that some amount of coding would be required by anyone running a Drupal site. But be prepared - you will be hacking modules left-and-right to get any thing running. At this time, one has to question whether the amount of hacking required to get things to run are worth it. Maybe all CMSes have this problem, but certainly Drupal is really a poster-child for impossible-to-ever-upgrade software.
The problem occurs because Drupal changes the API every release, adds new incompatible features, and modules and themes become unusable. And since modules and themes are merely someone's weekend project, it can be months or years before a module becomes compatible with the newer Drupal version.
Core drupal does not have image handling capabilities or spam fighting capability so even a basic site will need to use external modules. Add things like forums, automatic aliases, FAQs, it becomes a large collection of non-core modules.
The advantage of Drupal is that it is extensively customizable, and has a wide range of modules. This is exactly the same thing that makes a Drupal site near-impossible to upgrade. Once a site is up and starts to depend on a bunch of modules, rest assured that when a new Drupal version comes out quite a few required modules will not make it to that new version!
Drupal core does get upgraded without problems. But Drupal itself has become super-bloated. Web hosts that worked fine with Drupal 4.7 will not support Drupal 6.x because of heavily increased memory and CPU requirements.
Sure, Drupal 6.x has more things in it - but for a site that worked fine with 4.x, to have the same functionality at much increased resource usage is just bad. Even worse is that the way Drupal code has been written, even just visiting an admin page can completely corrupt the database leaving the site totally unusable. The code can corrupt a site on inspecting certain pages - not changing anything mind you, just looking at something can corrupt your site. Sure, the response from the Drupal forum is that it is the problem of the hosting provider who kills CGI scripts. But it seems incredible that viewing a admin page should cause a completely unusable site when scripts are killed.
It is now nearly a year since Drupal 6.0 was released which was back in Feb 2008.
But many modules are still only available as development versions - and with no sign of a final version. By the time a final version of these modules is available, Drupal 7.0 will be out, obsoleting everything again.
Who is Drupal suitable for?
- Those who plan to extensively customize the core Drupal, and take ownership of any module they run on their site.
- Those who don't plan on or have no need to upgrade to the next version.
- Those who will spend a lot of time coding.
- Those who are hosting at ISPs that do not have resource limits or have very high CPU and memory allowances.
Having installed 4.x, this site had to skip 5.x because of missing support for all modules. It is barely holding together in 6.x at this time - many modules are development versions and there are many problems (just visit the open issues list in a few of the modules you may be interested in at the Drupal site).
And if you are at 6.x - do not enable the "Update Status" module. This will warn you in red background text about the availability of a new version of a module. There is a very good chance that if you are one of the first persons to do the update, you will end up with a broken site. Again, just browse the issues at the Drupal site looking for people reporting on updates causing site failures. So once you have hacked enough of the code to make your site working with 6.x, don't update any module (even for security updates) unless you have set aside a full day to backup your site, do the update, run tests, and revert back if or when things fail. Disabling the update status module is the best option for a 6.x site.
Next stop - look into how much effort it would be to move to something simpler, like Wordpress. That is not going to be easy but it may be far less aggravating than going to Drupal 7.x or 8.x.