As respostas que já foram upvoted cobrem o "como evitar duplicação" (usando views), mas não o porquê. Eles basicamente mostram que a duplicação de colunas é a solução errada para o problema de tornar mais fácil escrever consultas. Mas a pergunta "por que não duplicar qualquer coluna aleatória apenas para o inferno dele?" Ainda está de pé.
A resposta é "Por causa da Lei de Murphy". A lei de Murphy afirma que:
If something can go wrong, it will.
Nesse caso, o conteúdo de cada campo de linha de uma coluna duplicada deve ser idêntico ao conteúdo de cada campo de linha correspondente da coluna original. O que pode dar errado, é que o conteúdo de alguns campos de linha pode diferir dos originais, causando estragos. Você pode pensar que tomou todas as precauções concebíveis para garantir que elas não sejam diferentes, mas a lei de Murphy afirma que, como elas podem diferir, elas serão diferentes. E havoc será seguido.
Como exemplo de como isso pode acontecer, simplesmente considere o fato de que as colunas duplicadas não são preenchidas por mágica; alguém deve realmente escrever código que armazena valores neles sempre que as linhas são criadas na tabela original, e alguém deve escrever um código que continue atualizando-as sempre que os originais forem modificados. Deixando de lado o fato de que isso está sobrecarregando indevidamente o código que insere dados no banco de dados (e que é, por definição, muito mais crucial do que qualquer código que simplesmente consulta o banco de dados), alguém, em algum lugar, sob certas circunstâncias, pode esquecer para realizar essa duplicação. Então, os valores serão diferentes. Ou eles podem lembrar-se de realizar a duplicação, mas não dentro de uma transação, para que ela possa, sob certas condições de falha raras, ser omitida. Mas eu realmente não precisava perder meu tempo escrevendo esses exemplos, e você realmente não precisava desperdiçar seu tempo lendo-os: a beleza da Lei de Murphy é que ela nos poupa de ter que dar exemplos de como algo pode dar errado. caso a caso: se puder dar errado, será.