To make the hardware argument a bit more clear:
As I said, I went from an HD7 to a Titan. That's a 50% increase in clock speed; the core itself may be faster per-clock, as well. The Adreno 205 GPU is certainly better than the Adreno 200, but I'm not sure of exactly how much so. Despite this, I've never been left thinking "damn, my HD7 was slow." Apps do load faster, but actually using apps isn't really different.
The only case I can think of the newer hardware leading to dramatically superior performance was the case of early emulators. Originally, first generation WP7 devices choked on NES emulators, but second generation devices had no real issues. This was fixed with software optimization, however.
Similarly, the Lumia 920, despite being a fantastic device, doesn't make me look at my Titan and say "damn, this is slow." Apps load faster, but the phone isn't actually more responsive or usable.
As I said before, this "moar k0rez" mentality is going to hit the same roadblock it hit on desktop platforms. Many programs don't run in parallel; many programs CAN'T run in parallel. In those cases, extra cores aren't really of any use. I'm not speaking against progress in hardware. I firmly believe we should always push forward, but I also see that hardware isn't really of use when software isn't demanding of it.
Android, for example, has come a long way. Running Gingerbread on a 1 GHz Snapdragon/Adreno 200 could turn into a laggy nightmare pretty easily. Jelly Bean, in its hardware accelerated glory, is smooth on my roommate's LG Phoenix. That's a 600 MHz CPU. The browser can choke it, but it runs well otherwise.