I could argue that 2 programmer years is more expensive that faster hardware
Well, that depends. If the program is just going to run on one particular machine (or cluster of machines), than that might be true. But that isn't always the case. I'm currently working on a project that runs on relatively cheap hardware: one CPU (Pentium or compatible), small disk (25 Mb will do), floppy drive, one network card, and one or more Equinox cards. Sounds cheap, but upgrading is expensive. We have about 1200 of them, scattered around more than 100 hospitals. They need to be assembled, installed in the field, and rigorously tested - by the third party that assembles the boxes, and by the customers. And then you have to convince the customers they should upgrade (and stay with us and not switch to a competitor).
The cost of hardware is more than the price of the pieces of metal and plastic. ;-)
Abigail