SITECORE AND MVC
MVC, or, Model-View-Controller is an architectural pattern that’s been around since the 70’s that helps split your website code into three main layers, Model, View, and Controller. MVC is a big step up over traditional asp.NET web forms. MVC pattern forces a separation of concerns within your website. This separation makes things like unit testing, maintenance and writing code easier. MVC helps to separate your C# logic from you HTML, CSS, and JS presentation code.
Sitecore allows you to build your website with either MVC or Webforms, even though web forms is so inferior companies are still using is.. if you are new to Umbraco then my advice is… DO NOT USE WEB FORMS FOR NEW PROJECTS! Sitecore MVC can even be configured to work with ASP.NET Web Forms side by side and you can switch between them from request to request. If you have inherited an old Umbraco website and you don’t want to start from scratch, you can slowly refactor it, into a more modern architecture.
The main difference between Sitecore MVC and traditional ASP.NET MVC is that Sitecore adds some special hooks and routes into the MVC pipeline that allows it to render Umbraco virtual pages, instead of pages based on controllers and actions. Sitecore MVC can be configured to work with standard MVC controllers and actions is you want it to, so it really is a very powerful platform that will allow you to do pretty much anything you can in a standard MVC website combined with the power of what Umbraco can deliver.