Angular 2 is a complete rewrite of AngularJS that focuses on mobile development. It uses TypeScript for static typing and classes, and features a component-based architecture, improved dependency injection, and asynchronous template compilation. To migrate to Angular 2 from AngularJS, developers should follow a 10 step plan including updating to the latest AngularJS version, developing new features with Angular 2 components, switching controllers and directives to components, adding TypeScript, and implementing manual bootstrapping.