I've been poking around a bit with the new ASP.NET MVC stuff, and so far I am very favorably impressed. Sure, there are some things to work out, but I think they represent exactly the right level of abstraction for getting serious work done. One of the things I've noticed lately since I've been doing lots of ASP.NET work is that the "classic" (if that works here) ASP.NET postback model is very very good at making the trivial case trivial. If all you want is a simple form that pretends to have button click events, it's super easy. Unfortunately for many of us, however, it is also very very good at making less trivial cases really hard. At some point (and relatively quickly, I think) we spend a lot of time fighting the ASP.NET model rather than taking advantage of it. I have spent hours trying to deal with the fact that ASP.NET is trying to make me code like I was writing a windows forms application when what I'm really writing is a web app. I shouldn't have to worry about whether or not I need to handle some bit of rendering in OnInit or OnPreInit. I know what HTML I want, but ASP.NET can make it hard to get there.
The new MVC model is the level of abstraction I'd like to work at. I know I'm writing a web app, so better to embrace that fact and deal with requests and responses rather than trying to pretend that I have button click events. The MVC model will make it very easy to get the HTML I want without having to fight the model. I haven't logged enough time to have found the (inevitable) rough edges yet, but so far if I was starting a new web project I'd definitely want to do it using the MVC model. The fact that it is easy to write unit test code is an added bonus (and well done, there!) but what really strikes me as useful is the model.
If you want a web app, write a web app!