There are 3 general approaches to building web applications today:
1. Need rich and fast user interface (fetching data in background)
2. When you need more responsive (because full page re-load is totally avoided)
3. SPAs can be designed to run in a disconnected mode, making updates to a client-side model that are eventually synchronized back to the server once a connection is re-established
3. Your team should be competent in writing modern JavaScript using a SPA framework like Angular.