MVC is a framework that separates an application into three main components: the model, the view, and the controller. The model manages the application's data logic, the view displays the user interface, and the controller handles input and converts it to commands for the model and view. MVC frameworks aim to create loosely coupled and testable web applications and help organize complex projects. ASP.NET MVC was developed by Microsoft as an alternative to Web Forms that embraces the MVC pattern for building dynamic websites using the .NET Framework.