EC2/EBS/ELB/RDS: My projects are too big for shared hosting, too small to buy a cluster of servers. EC2 is the best option for "in-between" projects. I can scale vertically or horizontally very easily. Elastic load balancing makes this very easy...just clone a new server from a storeed EBS snapshot and add it to the load balancer. I write my apps to point to a common RDS database instance (soon to be upgraded to support read replicas).
I'm a developer, not a sys admin, so I use the AWS Management Console most of the time. That makes it really easy to add/remove servers, create new S3 buckets, etc.
The startup is a Virtual Demos, Evaluations and Training solution. It uses the EC2 back-end to issue machines (eg. to give out a demo to prospective customers, or to issue a training environment to a student in a classroom environment).
In practice the startup uses EC2 to lease out machines, but itself is running on EC2. We use all the AWS goodies to scale the environment as demand builds up. So far I've found AWS to be an awesome service, and quite a game changes. If you're not aware, they now offer 'Micro' Unix boxes for 2 cents/hr and Windows boxes for 3 cents/hr, which is an awesome price point for any startup.
Simon @ LabSlice
I get the basics: EC2 VPS for computing power, and you get to pick a stack from a list of AMIs or customize one to fit your needs, S3 for storage, ClouFront CDN for better global distribution, but whenever I want to take a closer look, I feel so overwhelmed by the options that seem to be increasing over time.
What's the best reading material to get a solid, up to date foundation?
I also find EC2 really handy for quick experiments on different versions of Ubuntu and Debian. It is much quicker than setting up/maintaining images in VMware/VirtualBox.