ASP.NET MVC ha guadagnato molto risalto per le applicazioni Web, dal momento che .NET è molto utilizzato nel settore.
Le applicazioni Web Microsoft si sono evolute da ASP classico a ASP.NET, che si basa su Web Forms (per consentire le competenze gli sviluppatori di VB6 Win Forms dovevano già essere facilmente tradotti nella nuova frontiera del Web).
Sfortunatamente, Web Forms è basato sullo stato e HTTP (su cui il web è basato) è senza stato, quindi sono state necessarie molte soluzioni brutte a causa di cose come i viewstate.
ASP.NET MVC consente alle competenze che gli sviluppatori WebForms devono essere tradotti in un framework web che ha un buon SoC e che ha avuto un grande sforzo per essere testato (dato che WebForms non è molto testabile, il team MVC ha messo un grande sforzo nel framework)
Detto questo, non è un proiettile panacea / argento, e come ogni quadro, ci sono momenti in cui usarlo e volte a non usarlo. Speriamo che le persone non lo usino per cercare di risolvere tutto, dopotutto: quando il tuo unico strumento è un martello, ogni problema sembra un chiodo.