В чем суть SPA?
Суть в том, что вместо перехода по ссылкам и загрузки новой страницы при каждом клике по ссылке происходит подгрузка некоторых данных через тот же axios во vue. И тот же vue отвечает за отображение этих данных. То есть SPA - это самое что ни на есть разделение на бэкенд и фронтенд - серверную и клиентскую часть. Ничего сложного.
SPA - single page application, то есть одностраничное приложение. Загрузка страницы происходит один раз, а дальше - запрос-ответ. Благодаря этой схеме при первоначальной загрузке грузятся все стили и скрипты (которые уже содержат шаблоны в себе) и дальнейший обмен с сервером получается достаточно экономичным с точки зрения трафика, что положительно влияет на загрузку сервера и скорость получения данных.
Gmail видел? Там нажимаешь всякие кнопочки, менюшки, письма читаешь, пишешь, отправляешь... но страница при этом не перезагружается. Вся движуха на одной странице.
Или вот google docs, гуглокарта (да и яндексовая тоже), яндекс.музыка и куча всего другого.