Razor and ASPX are two view engines supported by ASP.NET MVC. Razor uses the @ character for code blocks while ASPX uses <% %>. Razor files have the .cshtml or .vbhtml extension while ASPX uses .aspx, .ascx, .master. Razor is the default engine for MVC 3 and 4 due to its cleaner syntax and increased readability and maintainability compared to ASPX.