After using/implementing some CMS systems and building one or two of our own I can tell you that it ain't a simple thing. Whats a good CMS? Well it should be:
- easy to work with
- extensible
- customizable in appearance (themes)
- easy to maintain and administer
- ...
well, guess the creators of Community Server came up with it : http://graffiticms.com/
check it out and judge by yourself