When ASP.NET MVC came out, it made so much sense. This was how web development was supposed to be; everything felt so clean and simple. I still like MVC, but I've gradually become more and more frustrated with the lack of extensibility points, and they way there are so many dependencies baked in. Controllers are simple, but they inherit from a base class which is anything but. I feel like I've been given a taste of how web development should be, but it seems like the developers of MVC stopped halfway.
Now I've discovered OpenRasta, which seems to me to be everything MVC was supposed to be but didn't quite manage. Instead of Models, Controllers and Views, you have Resources, Handlers and Codecs. Instead of routing, you define a URI for a resource, and specify the handler for the resource. The handler determines how to process the appropriate HTTP action for the resource, and the codec determines how to render it in the format requested by the client. Everything is pure POCO objects, and everything is fully extensible. I've started to have a play with it but so far I think this seems to be the way to go.
Here's a talk on TekPub by its creator, Sebastien Lambla:
I would say OpenRasta is the new MVC, except for the fact that it was written first! I guess the reason I missed it the first time around was that I wasn't looking for it.