I donno.
I suppose complexity, language, and dependancies is important.
If a thing is very complex it may be difficult for you to modify and may be slow. If it's too simple it may require to much work on your part to do the things you want.
If it is a language your familar with then it may be easier to work with. Some languages are not object oriented, which may or may not be a good thing in your book. Some languages have security issues.
If it's dependancies are too complex then it may require lots of compiling and may be difficult to get running and keep up to date. If it's bloated with features then there is a lot of stuff that may cause problems later on that your better off without... however if it 'reinvents the wheel' rather then using proven code from shared libraries then it may show a lack of maturity in the developer and means a lot of untested one-off code that may hide bugs or perform poorly.
Here is a page that has a crapload of open source cms stuff were you can try out all sorts of different options. Test drive them, so to say.
http://www.opensourcecms.com/