It provides the capability to build single page application in a very clean and efficient manner.
It provides data binding capability to HTML, hence offering user a rich and responsive experience.
It uses dependency injection and makes use of separation of concerns.
It enables developers to express UI declaratively and minimize side effects.
It provides reusable components and gives developers controls.
It allows a design-development workflow.
It helps developers manage state.
It allows the usage of custom directives.
With AngularJS, a developer gets more functionality without writing much code.