I came accross this article, which goes into one of the major software design misconceptions out there. I've heard this echoed many times: XML doesn't have to be compact, the network will get faster; Java doesn't have to be fast computers will get faster, etc.
I've also seen many systems bogged down with fundamental designs enforcing poor performance. Most of the time the problem is designers that don't understand the impact of shared resources on a web server. They worry about CPU cycles on individual requests when they use a property heavy remote object, or abuse a database with multiple small requests in a transaction.