Isto é parcialmente um remanescente histórico da guerra dos navegadores
O IE e o netscape competiam para conquistar o mercado e continuavam lançando novos recursos que se tornavam cada vez mais "incríveis", e foram forçados a aceitar as páginas projetadas para o outro navegador.
Isso significa que o navegador aceita e ignora tags desconhecidas silenciosamente, depois que os comitês começaram a se envolver ... bem, você tem um comitê projetando coisas e como resultado muitas versões diferentes (com algumas especificações ambíguas) em que o navegador deseja suportar a maioria delas, e criar um analisador separado para cada versão seria um enorme inchaço. Por isso, é (relativamente) mais fácil usar um único analisador com modos diferentes.
Por outro lado, o netscape eo IE queriam que o html fosse acessível ao homem comum (como era a moda naqueles dias), o que significa tentar fazer o que o usuário queria que fosse feito em vez do que ele dizia fazer e tropeçar em cada tag.
Tornar o problema ainda pior é que há também vários sites "tutoriais" ensinando coisas erradas e achando que estão certos porque o que eles ensinam funciona.
Em última análise, isso significa que, se você criar um navegador com apenas uma análise rígida de HTML, 99% dos sites não funcionarão.