Mehr Möglichkeiten bieten Frameworks. Ein CMS anzupassen kann einfacher sein, schränkt aber die Möglichkeiten ein. Was man nimmt hängt von den Anforderungen ab. Und in welchen Sprachen man programmieren kann.
http://de.wikipedia.org/wiki/Framework
http://de.wikipedia.org/wiki/Content-Management-Framework
http://de.wikipedia.org/wiki/Liste_von_Webframeworks