The other problem is that if you run a mix of in house and out of house services, the latency between the two sets of servers may be too high to be of much use. Say for example your DB server is on your network, and you need more capacity on your web servers. You could fire up a few extra EC2 instances and set up a VPN link from them to your DB server, but most likely the latencies are going to be too high to be useful. So cloud services aren't necessarily all that useful for temporary capacity either. To some extent it's all or nothing, at least for web services.
my point was just that most systems are on most of the time, and for those systems, owning saves you a lot of money over using "the cloud"
www.google.com/search?q=0.34+dollars+per+hour++4+days++1000
But, most workloads are on 50% or more of the time, (see the popularity of amazon's reserved instances) and you save a lot more than 50% owning your own hardware, unless you are paying ridiculous fees for your hardware guy.