Today, there are no usage caps you can place on your account. Regarding the credit card and carte blanche ability to bill you: you'd only be billed for overage beyond the "free" stuff. Microsoft recently instituted an email-alert feature that lets you know when you've used 75% of your available resources. I believe that went live a few weeks ago.
Simply put: you get 750 compute-hours monthly (metered on a 1-hour boundary). This gives you enough hours to run a single, small instance 24x7, as there are just under 750 hours in a month. If you leave two instances running full-time, you'll go over your allotment and be charged.
If you're just learning, the MSDN account is fantastic. Just remember to delete your deployment at the end of the day (or when you're done trying something out), instead of letting it run 24x7. With a bit of prudence, you'll easily be able to test multi-instance applications and avoid ever being charged.
You can also log into the billing portal from the Azure portal. This shows a very detailed breakdown of your monthly usage, and with a quick scan you'll see how you're doing regarding compute-hours.
I keep mentioning compute-hours but not storage or bandwidth. Unless you're doing some extreme development, I doubt you'll run into any storage or bandwidth overruns. Same goes for SQL Azure - stick with Web Edition databases (and only 3 databases) and you'll have no issue there.
I wrote two blog posts that might also be helpful when thinking about how to manage cost so you don't get charged:
- The True Cost of Web and Worker Roles
- Staging and Compute-Hour Metering