ASP.NET MVC is a web framework from Microsoft that uses the model-view-controller (MVC) pattern to separate a web application into three main parts: the model, the view, and the controller. MVC allows separation of concerns, with the model handling the data and business logic, the view handling presentation, and the controller handling input and response. ASP.NET MVC gives developers more control over markup compared to ASP.NET Web Forms and uses conventions for its structure and configuration. New features in ASP.NET MVC 2 include areas, data annotation support, strongly typed UI helpers, and templating support for Html.EditorFor and Html.LabelFor helpers.