Esto es parcialmente un remanente histórico de la guerra del navegador
IE y netscape estaban compitiendo para hacerse cargo del mercado y seguían lanzando nuevas funciones que se volvían cada vez más "impresionantes", y se vieron obligados a aceptar las páginas diseñadas para el otro navegador.
Esto significa que el navegador acepta e ignora las etiquetas desconocidas en silencio, después de que los comités comenzaron a involucrarse ... bueno, usted tiene un comité que diseña cosas y, como resultado, muchas versiones diferentes (con algunas especificaciones redactadas de forma ambigua) donde el navegador desea admitir la mayoría de ellos, y crear un analizador separado para cada versión sería una gran hinchazón. Por lo tanto, es (relativamente) más fácil usar un solo analizador con diferentes modos.
Por otra parte, netscape e IE querían que html fuera accesible para el hombre común (como era la moda en aquellos días), lo que significa tratar de hacer lo que el usuario quería hacer en lugar de lo que dijo hacer y tropezar con cada etiqueta colgante.
Para empeorar el problema, también hay varios sitios "tutoriales" que enseñan lo incorrecto y piensan que tienen razón porque lo que enseñan funciona.
En última instancia, esto significa que si ahora crea un navegador con solo un estricto análisis html, el 99% de los sitios simplemente no funcionarán.