Software is always pushing the boundaries of what the hardware is capable of. You don't always need the latest hardware, but sometimes it helps.
These days, I'd rather have more cores. At work, I have a Core i5 and 8GB of RAM. With two cores, I spend most of the day in a state of resource starvation. Yet, my machine at home has an old Core 2 quad. It still has 8GB of ram, but the extra cores make all the difference. I can have a couple of visual studio instances open, and other miscellaneous stuff, and decide I want to switch contexts for a little while by firing up a game. If I did that on my work computer, it would explode.
The same goes for servers, more most purposes I'd rather have parallelism than raw speed.
I find IO to be the biggest bottleneck right now. There's no point being able to crunch through 10GB of data on your CPU in under 500ms if it still takes 30 seconds to read it from disk.
I also want to know why 3D games from 12 years ago have more responsive hardware accelerated UIs than a WinForms WebBrowser control embedded within a WinForms UserControl embedded within a WPF control, contained within a WinForms form (this is some of the internal software we use). The window takes 3 seconds to handle a resize event.