The downside is that when it fails it fails badly. One example is the pluralization support (requirement ?) in Ruby. Using the name "Campus" for one of my models caused all sorts of problems down the road. It turns out that Ruby doesn't properly pluralize Campus as Campuses and just uses the root word for everything. This obviously isn't the Rails way to do things so I forced it to use the proper pluralization in the Model. While I got it working in Rails proper other things didn't like it. Railroad, a great little tool to check your models, puked all over the place looking for a table called Campus. Inserting test data using fixtures failed in weird places too. After too much hair pulling and cursing I had to rename it to something more suitable to Rails.
I like Rails & Ruby but this something that should be handled more gracefully. A language should not arbitrarily drive the design of a system. Or at least there should be a way to localize plurality settings. :/