O ASP.NET MVC ganhou muito destaque nos aplicativos da Web, pois o .NET é muito usado no setor.
Os aplicativos Web da Microsoft evoluíram do ASP clássico para o ASP.NET, que é baseado em Web Forms (para permitir que as habilidades que os desenvolvedores do VB6 Win Forms já precisavam ser facilmente traduzidas para a nova fronteira da Web).
Infelizmente, os Web Forms são baseados em estado e o HTTP (no qual a web é baseada) é sem estado, portanto, foram necessárias muitas soluções desagradáveis devido a coisas como os estados de exibição.
O ASP.NET MVC permite que as habilidades dos desenvolvedores dos WebForms sejam traduzidas para uma estrutura da Web com bom SoC e que tenha se esforçado bastante para ser testável (como o WebForms não é muito testável, a equipe do MVC colocou muitos esforço na estrutura).
Dito isto, não é uma bala de panacéia / prata e, como em qualquer estrutura, há momentos para usá-lo e momentos para não usá-lo. Espero que as pessoas não o usem para tentar resolver tudo, afinal: quando sua única ferramenta é um martelo, todo problema parece um prego.