In my view, Rails has three hallmark characteristics. The first its its purpose: to maximize the ease and joy of developing web applications. Rails applications tend to be very concise and DRY. Brevity was what catapulted Rails into the public view. ("Less code than most frameworks spend doing XML situps.") It also rode the wave of hype for Ajax and flashy interfaces; it may be losing this front.
The second hallmark characteristic is its architectural philosophy of being "comfortable in its own skin." It doesn't pretend web applications are anything besides databases talking via SQL to middleware talking via HTTP to browsers. It doesn't trample over its supporting technologies to support its own agenda. Seaside is a nice framework designed according to the opposite principle - that current supporting technologies hinder the development of good web applications, which could be better implemented using a more abstract approach. There is a lot of merit to that principle; after all, web apps aim to please people, not network protocols. The problem with building lofty abstractions is that they tend to leak.
The third hallmark characteristic is its exclusivity. Rails is "opinionated software." One size does not fit all, and Rails does not attempt to cater to everyone. Rails often sheds core functionality into plugins. "Enterprisey" things like legacy databases and composite primary keys are not well supported. Syntactic vinegar proactively discourages undesirable practices. This is an outright rejection of the pack rat philosophy held by larger players, particularly Microsoft and Sun. Caution: your billion dollar enterprise may not rest well on a fountain of eternal youth.
Yukihiro Matsumoto (matz) created Ruby to be fun and productive; this obviously aligns with Rails' purpose. Syntactic sugar is so plentiful that it can be confusing (sweet tooth?) for beginners, not to mention lexers. The libraries are designed humanely to beautifully accommodate most situations at the expense of purity. (Yes, this can backfire). Finally, Ruby practicioners tend to be playful and vain. I mean, take a look at this guy's site.
Web development is grungy work which seems to favor dynamic, introspective languages. Ruby is as liberal as they come. Sure, it's dynamically typed, interpreted, purely objected oriented, and so forth. Classes can be modified ("monkey patched") during runtime. Objects can have different methods than the classes they are instantiated from. Basically all of the encapsulation facilities can be bypassed. Because everything is so loose, the class of an object doesn't really tell you much about what it actually is. Accordingly, Ruby does "duck typing": if it walks like a string and it talks like a string, then it is a string.
MRI (Matz' Ruby Interpreter) is quite slow, but that doesn't tend to matter for web applications. A handful of better implementations are cropping up in response to the Rails boom.