Ответ №1: всё, что только возможно для отображения начального (или какого-то промежуточного) состояния приложения.
Ответ №2: В большинстве применений, с которыми я встречался, серверный рендеринг нужен, чтобы ускорить загрузку начального состояния приложения. При обычном подходе пользователю показывается пустой экран (или индикатор загрузки) до тех пор, пока браузер не скачает все скрипты и шаблоны, не запустит ангуляр, а ангуляр в свою очередь не распарсит шаблоны и не запустит контроллер нужного компонента. При медленном или плохом интернете (например где-то в дороге) или на слабом устройстве, это может занимать довольно много времени. При использовании серверного рендеринга, пользователь получает от сервера готовую страницу с полностью отрендереным начальным состоянием. Т.е. он уже может начать читать какую-то информацию, скроллить или что-то там ещё, не дожидаясь полной загрузки ангуляра. Это делает сайт субъективно для пользователя значительно отзывчивее и быстрее.