This article hits the big points quite well. We recently switched from Rackspace to EC2 for exactly these reasons.
A few more points:
• Amazon has a much larger network and you can use multiple availability zones.
• Amazon supports VPCs, allowing you to mix your cloud services with your old school servers.
• Amazon's CloudFront CDN allows you to use your own servers as a back end, not just static files.
• There are a wealth of third party tools available for Amazon that just aren't there (yet) for Rackspace.