There was a time years ago when if you said you were a Microsoft that meant you fit into 3 silos, C++, VB, and ASP. Then came Dot Net, there was still C++, VB mutated, and something new called C# came along. So, putting C++ aside, you could have 4 types of developers WebForms or WinForms in either C# or VB. WebForms and WinForms were very similar to each other, but they had their own quirks, one was web and the other was desktop. Now, we have MVC in the mix as yet another web presentation method, and WPF (desktop) and Silverlight (web) which are very similar to each other, yet each has their own platform quirks. Granted there are lots of tools now in the Microsoft toolbox, but it is getting cluttered, how do you decide if you do WebForms or MVC or Silverlight? Do you let folks choose something because it is new and shiny, do you let them make a choice just because, do you force folks to analyze the best tool for the project?
In the last year I have been on more than one project that had been done by a contractor who decided that that project would be a great project to learn MVC on, application complexity notwithstanding. This decision had made adding simple changes to the workflow very painful and time consuming, and irritation to the client that it will take at least 10 hours to add a simple extra validation step or drop down option to a screen. This particular app would have been much better suited to WebForms, but now we are stuck with it. We have had some other very simple websites come through which do work well as MVC, but those are a rarity.