Это частично исторический пережиток браузерной войны
IE и netscape конкурировали, чтобы захватить рынок, и продолжали выпускать новые функции, которые становились все более и более «крутыми», и были вынуждены принимать страницы, предназначенные для другого браузера.
Это означает, что браузер принимает и игнорирует неизвестные теги молча, после того, как комитеты начали вовлекаться ... ну, у вас есть комитет, разрабатывающий материал, и в результате множество разных версий (с некоторыми неоднозначно сформулированными спецификациями), где браузер хочет поддерживать большинство их, и создание отдельного парсера для каждой версии было бы огромным явлением. Так что (относительно) проще использовать один парсер с разными режимами.
С другой стороны, netscape и IE хотели, чтобы html был доступен для обычного человека (как это было в те времена), что означает попытку сделать то, что хотел сделать пользователь, вместо того, что он сказал, и отключить все висячие теги.
Проблема усугубляется тем, что есть также несколько «обучающих» сайтов, которые учат неправильному и думают, что они правы, потому что то, чему они учат, работает.
В конечном итоге это означает, что если вы сейчас создадите браузер с только строгим html-анализом, 99% сайтов там просто не будут работать.