As programmers, in a time when hardware is super cheap, we often think the answer is to not write more performant code, but to get better hardware. The problem with this is that companies often make you fill out a lot of paper work and go through a bunch of self-imposed regulatory hoops to either change a hardware setup or get more hardware. In a large company, you can't just run to Fry's, buy a cheap box, and throw it into the server room.
Hoop 1: Getting Petty Cash
The problem with this approach is that, at large organizations, you can't just get your manager to give you $500 to go out and buy a new grey box. Oh no, my friend, you've got some paper-work to fill out. And, if you're "lucky," you might have to go use that old machine that has the VM that supports your reimbursement system from 1995.
In addition to simply getting the cash to pay for the box, in most shops, you're going to need to clear putting that box on the network. IT dudes aren't too happy to have you plug just any old thing onto their network. And, friends, if you're going to be using the box for "mission critical" software, your organization is probably going to run a trial with that box first, to make sure it works out for you.
The end result of all this is that it's easier and cheaper (given all those hoops that need jumping through) for an organization to deploy software that's perfomant than to throw more hardware at the problem.