Well, ASP.NET MVC is a really good example of what is going wrong at Microsoft. Some youngsters trying to act the Java world instead of focusing on Microsoft strength. I wouldn't have any problems with ASP.NET MVC as a replacment for Webforms if it would provide the abtraction level of ASP.NET Webforms or technologies that uses XAML.

ASP.NET MVC is simply garbage, because it doesn't provide what it want to be. You don't have any separation between ui and logic. You even don't have a separation between markup and code. Instead you have to mix code with markup to bind data to the view and to make the view dynamic.

ASP.NET MVC makes it impossible to let the designer create the gui and let the coder implement the logic. It even can't assure that you separate your business logic and data access logic into separate layers. Someone who didn't use pattern with ASP.NET Webforms will likely don't use them with ASP.NET MVC. Instead those people are putting all its garbage into the model.

Instead of building and optimizing Webforms, there is virtually no real change in the ASP.NET world. There is a new framework, but it can't do virtually nothing better than webforms and mostly lacks abstraction and development speed.