I was using my iPhone with both data enabled, 3G enabled and inside my hose, where I was connected to wi-fi. I just saw that I exceeded my monthly limit and I was billed $10. So when data is enabled, will it always be used? I understand that 3G is only used for data, so I am not billed for it separately. right?
If you just saw that you exceeded your data, it could've been many hours ago while you were not at home. AT&T says it could be delayed by 24 to 48 hours.
In my experience, the iPhone will only use data from one connection at a time, not both; Its choice is indicated by which adapter symbol is showing in the menu bar. When you see the Wi-Fi symbol, your iPhone is only using Wi-Fi for the internet.
Example: When I'm connected to a really bad Wi-Fi network (if I am almost out of range or it lost its internet connection), and trying to load a page in Safari, my iPhone will struggle with loading the page for about 10 to 20 seconds. Then, the Wi-Fi symbol switches to the 3G symbol and the page loads using cellular data.
The only exceptions I know of are multimedia messages (MMS) that aren't iMessages and Visual Voicemail – both of these things will not come over Wi-Fi and can't be received with cellular data off. They are not using both, but they could use cellular while you're on Wi-Fi.
Last bit of evidence and future-proofing: In iOS 6 Beta 4, Apple added an option for "Wi-Fi Plus Cellular". (MacRumors: iOS 6 Beta Adds 'Wi-Fi Plus Cellular' Option...)
It will help people who may be on a Wi-Fi network with little or no internet connection be able to get cellular data through to some apps. (Maybe I'm just on the Wi-Fi network for Airplay for example.) It allows you to choose (from their pre-set list) which apps can access cellular data while you're on Wi-Fi. Before iOS 6, this option was unavailable.
No. When data is enabled, it will only be used when you are not connected to wifi (iOS was built to prefer wifi).
Yes. Your cellular company (i.e AT&T, Verizon, etc) doesn't know how much data you use over wifi, and they will not bill you for it (obviously, there is some cost for internet in your house, but that is separate). When you are actively using the phone on wifi, iOS 5 will not use any cellular data.
Edit (thanks, Gerry): When the phone is locked, it may turn off wifi (in order to save battery), and use data for some background processes like push mail. Chances are those processes will use negligible amounts of data, but still note worthy.
Be careful of doing large downloads when you aren't connected to wifi. Downloading apps (which can happen automatically in some cases), and streaming videos are two big resource hogs.
In the UK an iPhone will definitely use mobile data BEFORE wifi if both are switched on and available, probably a sop to the mobile carrier - remember when these first arrived the MOs didn't even want people connecting via WIFI as they were making a stack of cash with their mobile data.. I learnt this the hard way..