Почему при ajax подгрузке посты получаются в виде Html?
Считается, что так меньше нагрузка на браузер, мол не надо генерировать html-дерево на основе полученных данных, а просто берешь и сразу вставляешь на страницу готовый html-код который прислал сервер. Меньше нагрузка - быстрее отображаться данные, меньше лагов при прокрутке и так далее.
Надим Закиров написал ответ, но он не совсем верный, только отчасти
На самом деле так часто делают на сайтах при серверном рендеринге страниц написанных например на PHP. Генерация в браузере подходит для изоморфных сайтов или SPA, но не для них, так как сайт может быть зависим от SEO, а делать два разных движка для отрисовки и на сервере и на клиенте не могут по техническим или идейным соображениям