Первый метод означает более длительное время загрузки, так как вам нужно загружать все на сайте заранее, и он полностью не работает для людей, которые отключили Javascript или чьи браузеры не поддерживают его. Второй метод означает, что пользователю нужно загрузить только тот контент, который он действительно просматривает, и он должен работать даже с браузерами, не поддерживающими Javascript.
Преимущества решения Javascript в основном заключаются в том, что вам не нужно перезагружать страница, которая очень приятна пользователю.
С другой стороны, у вас есть посетители с отключенным javascript, которые не смогут загружать разные страницы. Также вы не можете перемещаться по страницам Javascript с помощью кнопок браузера вперед и назад.
Последнее, что я вижу, это то, что ваш код может стать беспорядочным, если вы не будете очень осторожны и организованы.
Основные недостатки, которые приходят на ум для первого метода:
Преимуществом метода будет скорость, при навигации вам не нужно совершать обход до сервера.
Он также имеет несколько недостатков, основными из которых являются; Вы можете ссылаться только на главную страницу, а не напрямую, например, на страницу о сайте, потому что у нее нет отдельного url.
Кнопка "назад" в браузере пользователя больше не будет работать.
SEO для одного - Googlebot, скорее всего, когда-либо проиндексирует только домашнюю страницу, а другие ваши страницы будут фактически невидимы для поисковых систем.