AngularJS is an open-source JavaScript MVC framework for developing Single Page Applications, initially created by Google. It enhances HTML with dynamic capabilities through directives and two-way data binding, while also supporting dependency injection and unit testing. However, it has drawbacks such as security issues, complexity, and reliance on plain HTML templates.