Uma prática comum é escapar HTML ao salvar num banco de dados com o objetivo de evitar que o texto seja interpretado pelo browser ao ser retornado, o que poderia afetar todos os usuários do site ou sistema.
Entendemos que para gerar maiores vantagens, esta responsabilidade deveria ser da camada de exibição. O template/view é quem deve utilizar as devidas funções para evitar esta interpretação, no caso do PHP deveria ser utilizado o htmlspecialchars antes de gerar a saída na tela, e não antes de salvar no banco. Isso garante que o conteúdo do banco é o conteúdo que foi inserido pelo usuário, podendo com isto ser reaproveitado em outros lugares além do HTML, assim como outros sistemas.
O que pode e deve ser feito é filtrar conteúdo realmente indevido, como caracteres inválidos ou espaços extras, dependendo da aplicação.