It's cheaper than buying machines (by a huge amount!), cheaper than keeping them running, and I can make changes on the fly that would otherwise take a week to grind through netops.
If load spikes (as it did recently for one of our customers), the conventional answer is "we can't buy 20 more servers in 2 days"! My response was "why not use EC2?"
For a new project, rather than submitting a PO for $20k+ in hardware, I can say "it'll cost $140 for the first month". Much easier to approve -- I can put that through on expenses!
Finally, if you consider that most large companies outsource datacenter management, whether truly outsourced to a services company, or "internally outsourced" to another division, using a cloud system that at least acknowledges your right to remotely administer your own service is a step forward, not a step back.