A Content Management System (CMS) is a framework that can allow for the rapid development of a website. These are frequently built using a server-side language like PHP and may use a database to store and serve the posts and pages. It basically takes templates to the next level. A Theme provides a consistent background similar to the way that CSS visual consistency to an HTML site. Both free and paid themes are available for most platforms. Plug-ins or modules are additional scripts that can be integrated to provide additional functionality such as image carousels or e-commerce.
WordPress (WP) is the prototype and most popular of these systems though certainly not the only one. Drupal and Joomla are two other popular options. These three are free to download and use and are open source. Open source software is developed and enhanced by the developers as well as by the community of users. This large user base also provides a large forum of community users who can help you get started or answer questions when you run into difficulties. Two sites which provide WP themes are ThemeForest and WooThemes.
A Content Management System has its advantages. It is fast to deploy, requires minimal effort, and requires no coding skills. However, the framework does add some overhead which may slow down your website. As bandwidth speed has increased so dramatically, this may not seem as much of an issue as it once was. That said, Google has become more concerned about website download times so it is worth considering. If you are not good at coding, you may find it frustrating to try to change things about your theme. Even if you are good at coding, it can be troublesome to try to alter someone else code.
This website is using WordPress with the Swatch free theme. It is my first website using a CMS rather than hand coding each line. I do have to admit that it was very easy to set up. I would describe it as a good tool but even a good tool is not the best tool for every job.