Amazon delivers very poor customer service and for small deployments it's very expensive compared to alternatives.
I always recommend against shared hosting accounts because you're given a slot on a physical server, and slots are given out to every Tom Dick and Harry so if Dick's website causes large SQL queries to fill up the /tmp/ partition, the entire server will crash and your website will go offline because Dick didn't write his code properly.
You definitely want to have a dedicated server instead of a shared hosting account. Thing is, if you want a hardware dedicated server you're looking at hundreds of dollars per month.
The solution: Rackspace Cloud
Rackspace delivers a better service that Amazon AWS at a fraction of the cost. A basic Rackspace Cloud Server (dedicated only to you) costs around $11/mo and their customer service is astoundingly good. (For example, you can actually TALK to someone via phone or live chat, instead of having to post in community support forums. With amazon you have to subscribe to an annual service contract in order to talk to anyone, which costs around $250/year)
I highly recommend anyone looking into Amazon's EC2 or S3 services should take a look at Rackspace as it seems to be the best cloud-hosting service on the web for small deployments.
Once you hit the mark where your site is chewing through more than $5,000/mo worth of bandwidth and disk usage that's where Amazon becomes a better deal, but for small deployments Amazon is a terrible waste of money and don't expect to get any tech support unless you pay them oodles of cash for it.
Rackspace all the way! W00t!!