ASP.NET MVC is an alternative framework to ASP.NET Web Forms that enables separation of concerns, testability and full control over HTML. It uses the MVC pattern to separate application logic, UI logic and data access. The core components are Models for application data, Views for UI display and Controllers to handle requests and responses. ASP.NET MVC builds on ASP.NET but does not replace Web Forms, and many core ASP.NET features still apply. It aims to produce cleaner, more testable code compared to Web Forms.