Good question. Broadly defined, a Content Management System (or CMS, for short) is a means by which to allow non-technical users to add and update content on a website. The most basic feature is a simple text editor; depending on the CMS, they can include much more complex functionality.
Take, for instance, this site. Currently, I’m using WordPress as my CMS. In the past, I’ve used Drupal, Symphony, and a few others. (At one point, I ran my website without a web-based CMS, but that’s a story for another day.)
All of these CMSs allow developers (like me!) to create plugins that add features to their core functionality, but when they’re first installed, they have drastically different capabilities. WordPress is fantastic as a blogging platform, but that focus often leads to a lot of very similarly-laid out (and unimaginative) websites. Drupal excels in multi-user, multi-permission environments, but it requires a lot of training if you want tech-averse people to use it. Symphony maintains an extremely simple user interface and has an elegant website theme customization interface for developers, but (by default) leaves out several features average users have come to expect.
Tomorrow’s post will discuss some of the pros and cons of using a CMS.