Se ele se encaixa dentro das regras de normalização, os relacionamentos 1: 1 podem ser normalizados (por definição!) - Em outras palavras, não há nada nos relacionamentos 1: 1 que impossibilitem que eles obedeçam às formas normais.
Para responder à sua pergunta sobre a praticidade dos relacionamentos 1: 1, há momentos em que essa é uma construção perfeitamente útil, como quando você tem subtipos com predicados (colunas) distintos.
As razões pelas quais você usaria relacionamentos 1: 1 dependem do seu ponto de vista. Os DBAs tendem a pensar em tudo como uma decisão de desempenho. Os modeladores de dados e programadores tendem a pensar nessas decisões como orientadas ao design ou modelo. De fato, há muita sobreposição entre esses pontos de vista. Depende de quais são suas perspectivas e prioridades. Aqui estão alguns exemplos de motivações para relacionamentos 1: 1:
Você tem algum subconjunto de colunas muito amplas e deseja segregá-las fisicamente em seu armazenamento por motivos de desempenho.
Você tem alguns subconjuntos de colunas que não são lidos ou atualizados com freqüência e deseja mantê-los separados das colunas usadas com frequência por motivos de desempenho.
Você tem algumas colunas opcionais em geral, mas são obrigatórias quando você sabe que o registro é de um determinado tipo.
Você tem algumas colunas que pertencem logicamente a um subtipo e deseja modelá-las para se ajustarem bem ao modelo de objeto do seu código.
Você tem algumas colunas que podem ser aplicadas apenas a alguns subtipos de um supertipo de entidade e deseja que seu esquema imponha a ausência desses dados para outros subtipos.
Você tem algumas colunas que pertencem a uma entidade, mas precisa proteger essas colunas específicas usando regras de acesso mais restritivas (por exemplo, salário em uma tabela de funcionários).
Como você pode ver, algumas vezes o driver é o desempenho, outras é a pureza do modelo ou apenas o desejo de tirar o máximo proveito das regras declarativas do esquema.