Neither!!! Amazon and AppEngine, and Azure all fail. They are usually more expensive than traditional hosting.
The word cloud has been overly exploited.
If you build a SAS (software as a service), it is now considered software in the cloud. This is a good thing, but just catchy wording such as WEB 2.0.
The problem with Amazon, Azure, and Appengine is that they are all very expensive. They pricing gets a little hard to decifer with compute cycles, storage, and bandwith.
Your best bet is to build a decent server or buy one and colocate it.
In the long run you will save BIG money.
I use CalPop.com and have had nothing but a great experience with them.
You can tell the pricing is great by their outdated web site.
To speed up my site, (a benefit the cloud hosting usually provides) i use a CDN for images, javascripts, and css. The best service i have found for this (best value and great service) is maxCDN. I literally called these guys at 2am in the morning and got support.
If you are not up to running your own server, look at Rackspace hosting in the cloud. They offer virtual hosting, but their infrastructure allows your server to scale multiple machines. Its more expensive than standard colocation, but they take care of all the management.
Chances are once you have a sver, you wont touch it much.
We only do health checks on our servers, adding hardwawre, and more power.
We sometimes throw another disk in the storage array, and backup (we use drobo) but that is it.
We save a ton of $$ which is better spent on: development, marketing, beer or strippers.