I'll bite :-) Keep in mind that I don't mind using Ruby at all, and consider it historically a good incremental improvement over what we used to have. I'll happily code in Ruby any day.

ES5, for me, was a complete surprise because I wasn't really expecting to enjoy using it. Perhaps I let myself be unduly influenced by the crowds ;-).

Prototypical inheritance is surprisingly nice. It is a simple concept and it is obvious exactly what's going on under the hood (if you care to look ;-) ). It allows a lot of functionality without requiring a large amount of language syntax. Ruby, on the other hand, has a more complicated (perhaps one can say more sophisticated) system, but requires a lot of language features to implement. Things like method_missing and all of the meta programming features feel bolted on.

ES5 has this really nice core design where language features just pop out. So private accessibility is done simply by using closures, etc. You have higher order functions without the absolute craziness of procs and blocs. Even things like mixins and traits are incredibly easy to implement with a couple of lines of code. Ruby, on the other hand, is a kind of byzantine structure where everything is bolted on with C code and the language itself is rather inflexible.

I really like the idea in ES5 that classes are simply functions that return an object. Hooking up inheritance structure is a complete PITA, but conceptually the design is really clean. Even the idea that objects are simply hashes and that methods are simply functions in a hash is really nice. Even the weird this pointer is at least consistent (despite being practically useless).

Where ES5 gets its bad reputation is in type/data coercion (which it shouldn't do at all IMHO, and it certainly shouldn't do it the way it does it). It also has a truly awful standard library -- to the point where most experienced developers simply avoid it! My main other problem with ES5 is that it is overly verbose, but this is something I feel that is shared with Ruby in many ways.

IMHO, use of a transpiler is just a good idea with ES5 because while the core of the language is excellent, the stuff surrounding it is full of pitfalls. I personally like CoffeeScript quite a lot and honestly prefer writing CS to Ruby. Typescript seems like it is also quite nice, though I haven't used it. Lately I've been playing with Purescript and while it is legitimately a different language compiled into JS, I really enjoy reading the compiled JS output, because it often compiles into something very elegant.

Conclusion: Ruby is fine, but ES5 is just a lot more elegant internally and it is much easier for me to use it intelligently to produce nice code. Ruby has a much better standard library, but language features are bolted on without them being driven by an internal design. Basically, I think they think "Hey, this would be a convenient syntax. Let's write the C code to make that work." without really evaluating whether there is any internal consistency. Some people may actually consider that a plus, but I prefer simpler languages. Note that I feel that in many ways ES6 is wandering over in this direction and I am somewhat disappointed with it. I was happy you specified ES5 in your question, because a similar question about ES6 would have been harder for me to answer.