Partially I agree with you that the system should be optimized by traditional means, such as index optimization, improving T-SQL logic in spocs, before pulling out a blank Purchase Order to upgrade the hardware.
However to make your point, you are exagerating the cost of HW upgrade to several hundred thousands dollars, ignoring that one can upgrade a server for as little as $10K.
Naturally I am in favor of database optimization as an on going duty of a DBA. However, since HW prices dropping and technology advances, I am also in favor of hardware upgrades. Not only you get better performance, but you get new "iron" which is less likely to break down (as opposed to 3-5 year old server).
There are limits to optimization:
1. Skill of DBA. It requires a senior DBA to do good optimization.
2. Political issue of throwing back slow queries/sprocs to the development department and QA.
3. In case of 3rd party software, only index optimization can be applied. Even that may become a political or licensing issue.