I'm a happy Rackspace Cloud customer. I use it for a few small VMs that I treat like normal, uniquely-configured servers, but I don't have to mess with all the details of running a data center, and that makes my life easier. I looked at EC2, and it became very obvious that it was not intended to be used that way. If you want to do the whole dynamic cloud thing where your log scraper uses an API to request more CPU for this VM, more RAM for that VM, and duplicate a few more web front-end hosts, EC2 definitely covers the bases, but I just wanted a couple servers with redundant power and storage, pre-built backup/restore system, in a data center that's professionally managed by people who are not me, and I wanted to do it without spending tens or hundreds of thousands of dollars up front.
In terms of business growth, EC2-style cloud computing is great for large organizations with their own developers who can afford semi-custom solutions that offload 80% of their server infrastructure to Amazon's data centers, but that's a market that will saturate quickly. The larger opportunity is customers like me, who are trying to help a small organization grow into a large organization without investing huge amounts of time and money up front (because they don't have either to spare yet), and need servers that aren't just run from someone's desk. If Amazon invests the short term returns from EC2 into something that competes directly with Rackspace Cloud, I'm sure they'll be competitive, but right now the two offerings aren't directly comparable.