As I post this, Amazon's S3 and SQS services have both been down for hours. The latest updates to the service health dashboard are promising so things will hopefully be resolved soon, but this definitely isn't a good sight:
Amazon has posted a full explanation of the recent S3 outage here: Amazon S3 Availability Event: July 20, 2008.
This makes for interesting reading, but ultimately the lesson from this most recent outage is that service failures can and will happen. Even to Amazon.
If you are building a cloud-based application you should try to include as many contingency options as much as possible, but few contingencies could have survived that outage. Let's hope it isn't repeated.