A CMS (Content Management System) is a site that has a database at its core, and is controlled by a programming language in the web server (commonly called the backend).
The most popular CMS in the world is Wordpress, which uses PHP (PHP Hypertext Preprocessor) as its programming language and MySQL as its database management system.
Most of the really popular CMS are powered by this combination. Some big advantages of PHP and MySQL is that they're open source and free of charge.
CMS are intended to make updating your site easy without any knowledge of HTML, CSS or JS and to make the site scalable. In reality, it is almost impossible to properly set up any site without this knowledge, and it's impossible to create a theme without it.
To deliver every page to the requesting browser, the browser send the request (someone clicks on the link to a page). The CMS web server has to interpret what's needed for the request, then uses PHP to make a connection to the database, retrieves the data, does any filtering of the data required to create the page to be displayed, then delivers that HTML to the browser.
If you compare this with a static site, the web server receives a page request, and fetches then and sends it back. Static sites are a lot easier on resources because the server only needs to do one thing. It doesn't need to interpret any programing codes, connect to a database (and CMS databases are usually hosted in a different server). My advice is to only use a CMS if you really need one. A static site is a lot cheaper to host and a lot faster.
This is an important question because of (at least) the following reasons:
If you need a CMS, I am very experienced with three of them.