Речь идет о сайте без перезагрузки.
При переходе на новую страницу сайта происходит AJAX запрос к PHP скрипту, приходят данные в скрипт. Далее есть 2 варианта:
1. PHP скрипт полностью генерирует HTML код и в JSON передает его JS скрипту на первую страницу и последний просто меняет данные на странице.
2. PHP скрипт возвращает данные JS скрипту, который уже генерирует HTML код и заменяет данные на странице.
Нигде не "необходимо", зависит от конкретной задачи, первое лучше для клиента, но нагружает сервер, поэтому не все могут позволить первое, а еще второе удобнее отлаживается, легче распределяется между разработчиками и кроссплатформенно.
hrvasiliy: JSON может обрабатывать не только Web-интерфейс, но нативное приложение на любой платформе, а еще гораздо лучше для сторонних разработчиков.
MaxKorz, Если предположить, что frontend генерируется с помощью js-framework'а типа angular'а, то тогда вы абсолютно правы. Но у меня нет такой уверенности и в изначальном вопросе оного не обозначено. На подавляющем большинстве проектов frontend framework не используется. А уж если используется, то подобные вопросы разработчиками не задаются.
Обмен данными между клиентом и сервером - чистый JSON. Это гибкость и переносимость в будущем, работа по АПИ. Генерация html на фронте. Смотрите Handlebars например.