Mobile phone companies are very good at charging different amounts for different types of data. Their entire business model is based around this setup. If you're paying 10¢ per text message, this arrangement works out to around $750/MB. A lot of people are willing to pay that much for text messages, but at this rate loading the InformIT front page would cost over $500, and I doubt many people would be willing to pay that much for web browsing.
You can run an instant messaging client on your phone, and even a protocol as bloated as XMPP works out to be a fraction of the cost per message of SMS. Unfortunately, you can't use it to communicate with people who don't have an IM client on their phone, which reduces the value. You're paying not just for the bandwidth for an IM, but also for using the network's servers.
Telephone calls are also charged at a different rate from that of other data. This design makes more sense, however, since telephone calls have quite different requirements than those of web browsing or email. GSM and related protocols use around 12 Kb/s for voice calls. At this speed, you only use around 5MB for an hour-long call—hardly anything on a modern network.
Bandwidth isn't everything to a voice call, however. If the latency is more than around 200 ms, you're likely to notice. More important even than latency is jitter. If the latency increases slightly, there will be a gap in the conversation. If latency decreases, you can only catch up by dropping packets, since you can't play back audio at more than real-time speed without noticing. (You can speed it up slightly, but not much.) You can compensate for jitter by having a receive buffer at each end, but this approach adds latency, which is what you were trying to avoid overall anyway.
So you pay for three things in network access: bandwidth, latency, and jitter. With bandwidth, you pay more when you want more. With latency and jitter, you pay more when you want less. Even when they're just selling IP connectivity, mobile networks can still offer different pricing tiers for different quality of service (QoS) levels. If you want to make a phone call, you might select a more expensive connection with lower latency and jitter levels, and pay a bit more for the bandwidth.