Single page application (SPA) is a web application that fits on a single page. All your code (JS, HTML, CSS) is retrieved with a single page load. And navigation between pages performed without refreshing the whole page.
No page refresh
When you are using SPA, you don’t need to refresh the whole page, just load the part of the page which needs to be changed. Angular allows you to pre-load and cache all your pages, so you don’t need extra requests to download them.
Better user experience
SPA feels like a native application: fast and responsive.
Ability to work offline
Even if user loses internet connection, SPA can still work because all the pages are already loaded.
More complex to build
Initial load is slow
SPA needs to download more resources when you open it.