A friend of mine asked me the other day "Pay-as-you-go in Windows Azure means that if I left my applications there and nobody use it, there won't be any charges - Right?". I am sure most of us would have a thought like that when we first hear the term - Pay-as-you-go (or Pay-per-use).
The answer to that question (at the time of this writing) is - "Nope, you will be billed!!!"
Pay-as-you-go in this context simply means "We are paying to use Windows Azure's services" and not "We only pay when our customers use our service (or applications)". The easiest way that I like to use to explain Windows Azure's charges is to use the Car Rental example. When we rent a car, we pay for the rental services and regardless of whether we park the car at our garage or take it for a spin, we still need to pay for the rental service (as long as we have the car).
Therefore, in Windows Azure's case, as long as we have services deployed onto it, we will be billed for them. In fact, we will have to delete our services if we don't intend to use it. This should help avoid getting surprises in our credit card bill.
Expanding on the Car Rental example, we can also use it to explain this - "Why is it that we paid for the service but still get charged for data transfers and transactions?" Answer: "That's because when we rent the car, we still need to pay for the fuel." ^_^
Note: You will also get billed for staging instances! Therefore, remember to decommission your staging instances after testing to avoid having a shock in your credit card bill. *HeHe*