Controllers allow functions to be registered with AngularJS and follow its MVC architecture. Controllers are JavaScript objects that handle data flow between models and views by calling functions to get data from models to display in views. They also initialize scope objects and handle business logic. To use a controller, a module must first be created and the controller registered with it by specifying the controller name and function. The view then associates to the controller using ng-controller.