AngularJS objective is to augment browser-based apps with MVC capability, in its quest to make development and testing easier. This tool is totally extensible and works nicely with other libraries, any feature can be replaced or modified to fit the unique workflow development and feature needs.
While imperative programming is great for expressing business logic, AngularJS is built around the thought that declarative programming should be used for creating User Interfaces and wiring app components.
Offers automatic sync of module and views as the framework adapts and improves traditional HTML to better serve dynamic content through two-way data-binding. You can register callbacks or watch model changes as AngularJS allows you to express the behaviour in a clean redable form without the regular boilerplate of improving the DOM.
Angular offers traditional server-side services, like view-dependent controllers, to client-side web apps using dependency injection.
So in consequence much of the burden on the backend is reduced, leading to much slimer web apps, as they follows the MVC pattern of software engineering encouraging loose coupling between presentation, data, and logic components.