To most people CMS is just a buzz word. One word that sales people use when they want to sound important (or confusing). To state it simply, CMS is a short way of saying Content Management System. What these three words hide beneath this vague abstraction? Well first read my opinion on purpose of CMS:
The main purpose of Content Management System is to lower the cost of managing your content.
Real representation of cost can vary. It can be money, it can be time or anything else of value that you have to give up in order to manage your content.
Take a look at this diagram:
First of all CMS is a system. And according to Systems theory, a system is represented by input, system it self(attributes and behavior) and output.
So basically, CMS should represent a black box for you (in this case red). Theoretically all you have to do is input only necessary “stuff” into system and wait for desired output. Everything in between should not be of your concern. It should be the concern of the CMS developer. It is his response-ability to create a good system structure so that CMS can fulfill its purpose and lower your costs trough automation and efficacy.
In real life, CMS is represented by software. Usually a web software. And there is a lot of it. I mean thousands of different implementations. As if every developer on this planet tried to build one for you. Only thing that separates these software apart is their system structure. For example, they are adjusted to work with different content types (documents, slideshows, images, video). They have different behaviors, some are simple blogging platforms, some are enterprise software for holding sensible information and some are online stores.
Which one to choose? Well this is a broad topic and requires an article on it’s own. Usually it depends on what output you require and what inputs are available to you. CMS software should bridge these two together. And you should choose according to your requirements and CMS purpose, not it’s popularity.