Traduzindo, Sistemas de Gerenciamento de Conteúdo. CMSs formam uma classe de sites que permitem edição de seu conteúdo sem a intervenção de um designer, usando uma interface de administração onde os responsáveis pelo conteúdo podem publicar novas páginas, inserir fotos, vÃdeos, e tudo o mais que necessitarem.
Na verdade, você sabe do que estou falando: um blog é um tipo de CMS.
Um blog é um site dinâmico, pois permite que você publique um post sem usar nenhum editor de HTML, nem enviar um novo arquivo via FTP.
Os wikis são outra classe de CMS. Os portais são outro. Os fórum outro outro. Os groupswares outro... O Blackboard da universidade é um CMS voltado para instituição de educação. Como você pode ver, as possibilidades dos CMS são muitas.
Vantagens dos CMS em relação aos sites estáticos:
Pense bem, se você fosse o dono de um escritório de advocacia e desejasse escrever um artigo por semana e publicar em seu site, o que iria preferir? Publicá-lo diretamente (como num blog) ou enviar um DOC a um webdesigner para que ele o formatasse e, depois, o publicasse?
Alguns sites interessantes sobre CMSs:
A seguir, veremos as principais diferenças entre sites estáticos e dinâmicos.
Até agora vimos como um site estático se comporta. Vimos que trabalhamos com duas camadas, geralmente representadas por dois tipos de arquivo: a estrutura do documento (cabeçalho, sidebar, conteúdo principal, rodapé), o conteúdo em si (textos e referência a arquivos de imagem JPG ou PNG) no arquivo HTML e a apresentação no arquivo CSS.

Com a evolução das necessidades dos sites com grande dinâmica de publicação, desenvolveram-se CMSs, e estes têm mais uma camada. A camada HTML (na verdade, PHP, ASP ou outra linguagem server-side) fica responsável somente pela estrutura do documento, enquanto o conteúdo fica armazenado num banco de dados. no exemplo acima mostro a solução tÃpica usada para um blog: CSS, PHP e MySQL. Na verdade, embora esta seja a arquitetura dominante, existem outras combinações, como CSS, ASP e Access, ou CSS, Java e Oracle.
Como no caso de um site dinâmico o processo de montagem de uma página é mais complexo, temos abaixo um esquema muito simplificado do que acontece quando um usuário solicita uma página.

Dizemos que este esquema é simplificado por vários motivos. Por exemplo, quando um usuário escreve um endereço em seu navegador, sua conexão procura por este endereço num servidor de DNS (Domain Name Server). Este servidor, geralmente localizado em seu ISP (Internet Service Provider), isto é, seu provesdor de acesso, e ele transforma o endereço web que você digita em um número do tipo 201.89.57.02. Assim como o número do CEP, este número guarda alguns significados. Por exemplo, 201 na primeira posição siginifica que o servidor é brasileiro, 82 é Reino Unido, e assim por diante. Assim fica mais fácil para a rede encontrar onde está o endereço que você procura. Se você quiser, por curiosidade, ver por onde passa sua conexão em uma solicitação de uma página web, tente digitar tracert <endereço> no prompt do DOS e ver o que acontece.
Voltando ao nosso problema, repare que o arquivo (na verdade, os arquivos) PHP presentes no servidor geralmente não são diretamente servidos ao navegador do usuário. Eles são pré processados, e uma página é montada especialmente para a solicitação. Se um minuto depois houver outra solicitação da mesma página, ela pode já estar alterada (caso, por exemplo, o banco de dados tiver um novo post).
É justamente esta maleabilidade que faz com que este tipo de arquitetura possa gerar páginas din?micas ao usuário.
Se tivermos uma máquina Linux rodando um servidor web Apache, este tipo de arquitetura é chamada de LAMP (Linux + Apache + MySQL + PHP). Se for um servidor windows, WAMP (Windows + Apache + MySQL + PHP).