Regarding your one bullet point:
Azure costs $0.12/hour, you need at least two instances=>0.12x2x24x30=$172/month
You're only required to have one instance of a given VM, but if you want SLA in case your VM goes offline for any reason (like the underlying hardware failing, or the OS being updated), you'll need 2 or more instances. Same goes for Amazon. You don't magically get failover on a service running on a single VM. With Amazon, don't forget the cost of a load-balancer as well (which is built into the Windows Azure Compute pricing).
As Kevin Cloet pointed out, Extra Small instances are priced at 0.05 per hour, which would allow you to have a 2-instance deployment for $72 monthly, giving you SLA as well.
Be careful when comparing to "normal" hosting. Most discount hosting is shared hosting, and your app is placed on a box alongside potentially dozens of other tenants, with no consistent performance. If one of those tenants is abusive with CPU and bandwidth, your site will suffer.
One more thing: With Windows Azure, you have a compute+storage emulator that runs locally. While there are some differences, you can typically perform the majority of your development work locally.