rails was popular but a very high tower of nominally unique abstractions; coming from perl or PHP and jumping on rails it felt as if rails essentially popularised the generative approach to web infrastructure that is now considered standard (though it existed elsewhere previous and since). For that reason many took it up, but were locked in to its way of doing things, and its problem domain. That is to say, rails programmers were often more interested in CSS and matters of web frontend than backend programming, and thus the surge of programmers it attracted probably did less to bolster the language than they could have. Other groups of programmers who also lept on ruby, such as security enthusiasts, also tended to stick to their corner. In many cases, they were later in the piece - early ruby had many problems with unicode long since solved in PHP, for instance. Ruby felt to me as if it simply never became a cross-pollinating community in the same way other language communities did.
Ruby absolutely has awesome features: lovely syntax, introspection, etc. however people do not use programming languages because of the features but more so the inertia (see: C, FORTRAN, Java...)
Meanwhile, python became popular in universities and the bog standard mechanism by which the publication of a library could be ensured with forward compatibility on many platforms. It was boring, and perfect for boring uses. Most software is boring. To my mind it's really a Java replacement, more so than a ruby/php/perl replacement, or at least spans with confidence enough of Java's traditional market to have a foot in the door for general business deployment of arbitrary projects.
Very much like @NeckbeardHacker's quotable "CentOS in the streets, Gentoo in the sheets." I think python is a business language but few multilingual programmers would really write it just for fun. Experienced programmers seem to get their fun from things like lua, ruby, and whatnot. I don't know why, but syntax is part of it.