Garret Dimon has a great explanation for why .NET is no longer his preferred tool for web development and why Ruby on Rails is. On Best Practices, he writes:
Rails takes all of the things you should be doing, and consolidates it into one very elegant framework. Directory structure, unit testing, functional testing, performance testing, database build scripts, MVC separation, validation, no XML configuration files, and more. It’s all there, and it all plays together nicely. This is my favorite aspect.