Aside from PHP being around twice as long and around for years during the nascent phase of open source web apps, the number one reason it has more and more popular turnkey apps is the same reason it "killed" perl: easy deployment.
The secondary reason is indeed cultural, but not it's nothing so abstract as what 37signals does. Rather it's the technical culture of moving fast and breaking things. With Rails you need to stay on top of upgrades all the time. If you are actively working on an app then this is a net benefit because you get new features. But it also creates maintenance work downstream, and not just with application code, but application servers are also relatively unstable. When you have something with a high heterogenous installation count like WordPress or other popular open-source apps, the pain of maintaining version compatibility and keeping it running over time far dwarfs any benefit of using a more powerful language like Ruby.
The secondary reason is indeed cultural, but not it's nothing so abstract as what 37signals does. Rather it's the technical culture of moving fast and breaking things. With Rails you need to stay on top of upgrades all the time. If you are actively working on an app then this is a net benefit because you get new features. But it also creates maintenance work downstream, and not just with application code, but application servers are also relatively unstable. When you have something with a high heterogenous installation count like WordPress or other popular open-source apps, the pain of maintaining version compatibility and keeping it running over time far dwarfs any benefit of using a more powerful language like Ruby.