When Rails first got released, there was a certain wow factor - it made making sites very easy. There have been plenty of web frameworks released afterwards for other languages that made it easy to spin up a new web project, but Rails has remained ahead in terms of how much mention it gets, for various reasons: first-mover advantage, its community is louder, etc.
Expressive - I can write code the way I think with Ruby & Rails. It feels natural to me. A lot of this has to do with the flexibility and dynamic nature of Ruby.
Reusable - One of the ideals of Rails is DRY ... don't repeat yourself. This ideal manifests itself in many ways that allow you to reuse components at a very fine level.
Progressive - Unlike PHP or Java, Ruby & Rails feels to be improving at a faster pace. Community and results have been put above egos, even though there are very strong, opinionated egos in the leadership.
Fast - Rapid prototyping can be done with Rails with a low cost. You can get to where you're trying to get at a faster rate with Rails.
I'm from a c,c++, and now PHP background and the syntax of ruby has always seemed backwards to me. In addition to this, Rails adds too many abstraction levels. I feel like it's actually dumbing down future developers.
PHP gives me just enough power and now has enough OO support to build large-scale projects. It's not without its flaws, but I have used it in many projects over the years and will continue to do so until I have a reason to switch.
To be honest, the OO support in PHP feels a lot like an afterthought (and it actually is), it never quite feels right.
Migrations are one advantage Rails has over Django. They're otherwise pretty similar. (South doesn't count.)
I wouldn't say that any language dumbs anybody down. People can be dumb in any language. You should chill in ##C on Freenode and see what stupid really is.
Ruby was second, PHP third.
(JavaScript got the most votes, but everyone uses JavaScript on their website, and I refuse to believe that the many people who voted for JavaScript all use it on the serverside (like Node.js, e.g.). That's why I claim that Python is the most popular serverside language according to that poll).
I've used Rails. (Goodness, I used Ruby in 2000. Get off my lawn.)
Plenty of the Internet's programming culture is driven by fashion. I saw plenty of projects written in Java in the early 2000s because that's "what investors want[ed]". When some of those Java programmers woke up from their XML-as-configuration comas in 2005 and 2006, they brought that sense of mission with them to Rails, ignoring the almost 20 years of dynamic languages getting things done up to that point. (No XML situps? Monkeypatching instead of Spring? Naked objects instead of beans? Auto-generated accessors? Ruby and Rails invented none of that, but good for Rails for attracting an audience.)
Ruby's a decent language, but it still suffers the growing pains of adolescence. It'll catch up. (A language test suite is a nice start.)