CodeIgniter is a PHP web application framework based on the model-view-controller (MVC) pattern. It uses URIs to determine which controller and method to call, which then loads any models needed and passes their data to views for display. The framework provides libraries and helpers to interface with external classes and for common tasks like form validation, while controllers handle routing, models provide data access, and views display the content.