It's all a rip off.....
> I can see why there's a roaming charge for voice calls; these are being routed over an international connection (assuming you're not calling within the country you're visiting); but what does the data roaming pay for?
Only incoming calls. The outgoing calls go from the foreign operator to the destination. In an non-rip-off world you should get charged the same rate as the foreign operator charges or the same charge as making the call on the local network as this would still generate vast profits.
GSM actually supports having a local number when you are roaming, though this is very purposely hidden from you.
> The data "call" just needs to be routed to the appropriate internet address, it doesn't require any connection back home (other than to send the billing details); so the roaming charge is just a fee for local usage and billing information.
All Data traffic is routed back home to the GGSN to allow the spooks can keep an eye on you while you are out of the country.
Operators bill each other a fraction of the costs they bill to subscribers for roaming Voice and Data services. If they only realised that when price drops usage and profit actually increase in many cases. The only way to help them understand they are charging too much is by refusing to use roaming services until they start charging reasonable prices, hence my collection of foreign pre-paid SIM's.
The recent intervention by the EU to cap pricing is also another attempt to misdirect and give the impression they are reducing prices. Before this legislation took effect market forces led to per second charging, now most operators are back to charging by the minute for roaming calls, use 1 second for a failed call get charged for the whole minute.