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. Its all there, and it all plays together nicely. This is my favorite aspect.