One of the comments I got on my last post on view/view model hookup options was the following:
I’ve been a mvvm fan but actually when I see all the hoops to jump through I wonder at times how effective this is
So I wanted to take a moment to list what I thought compelled me to adopt the ViewModel pattern of client application development (so much so, that I now feel odd writing Silverlight and sometimes even Ajax apps in any other way). Some will be obvious benefits, especially to those already using MVVM in their everyday development, but I want to throw in a couple that are farther out exploratory ideas that I am thinking about. I’d also love to pursue what it means to make view model more mainstream, so if you’ve got ideas on this topic of "Why ViewModel", I’d love to hear.

The often cited benefit is increased testability of additional code within the application, and I’ll get to that, but I think there are some other benefits that are more applicable, considering not everyone practices the rigor of the level of testing we’re talking about here. Essentially, testability is not a justification for the ViewModel pattern on its own.