A few months ago, I got a text message from a friend mulling over whether to proceed with working on and learning ASP.NET WebForms, or to go straight to ASP.NET MVC. I wrote my response out in the Notes app, copy/pasted and sent.
After flipping through old notes and clearing them out, I found it and was actually found what I wrote kind of delightful, so I'm posting it here.
ASP.NET WebForms vs ASP.NET MVC
WebForms: "Lets bend the web using our will to make it work like WinForms! We are strong, web standards weak!"
MVC: "Rails is cool. Let's do that, but on .NET!"
WebForms: Component/Controls and Widgets! N-Tier for data access, business logic...
MVC: Models, Views, view models and Controllers. You can N-Tier if you wanna.
WebForms: Framework is still being maintained. Will stick around in system .NET, but no support in .NET Core.
MVC: Framework is evolving; MVC and WebAPI are now one/together and being ported to .NET core.
WebForms: Jobs that work on legacy applications and systems.
MVC: Jobs that work on modern and/or new builds.
Developer Enjoyment Rating
WebForms: Basically recompile on every freaking change.
MVC: Less recompile's thanks to @razor view engine.
The Bottom Line
I'd choose MVC over WebForms almost every time, simply for the fact that WebForms isn't going to be supported in .NET Core. And MS has been making a BIG push on making .NET core relevant and very, very performant.