The thing I like about Rails is, unlike some technology stacks I could name (why hello there Enterprise Java), you don't have to know it all on day one. The first version of my site was an awful lot like Baby's First Bookstore, Rails 2007 Edition. It has gradually accumulated more features and sophistication as I've grown as a web programmer.
A lot of the complexity in Rails is hidden until you need it. If you don't understand Rails caching yet, that's no problem, you don't have to understand it until you actually have to use it. Ditto the more advanced ActiveRecord tricks like named_scope, or the deep rabbit holes in the general vicinity of templating engines.
The term I like (don't know where I picked it up) is "discoverable." The simple things are easy, but you can discover over time how to do the complex things. This has two benefits: the obvious benefit is that it allows the user to be productive immediately, without training, without having to memorize a manual. The "hidden" benefit is that the program becomes an adventure game... it continues to surprise, delight, and reward the user long after the excitement of the initial purchase has faded.
IMHO, this is Apple's "secret sauce." Their hardware and software is just hardware and software, it can be mimicked. The thing that sets their hw/sw apart is its discoverability, and that is very, very hard to copy because it is a thought process, a concept, a zen.
A lot of the complexity in Rails is hidden until you need it. If you don't understand Rails caching yet, that's no problem, you don't have to understand it until you actually have to use it. Ditto the more advanced ActiveRecord tricks like named_scope, or the deep rabbit holes in the general vicinity of templating engines.