These three activities have different QoS constraints: "voice" data is real time, lossy, and therefore has hardware assisted compression and routing; text messages and data are non-lossy, but have drastically different timing and retry constraints. So, even if they "traveled through the same towers and pipes" (they don't, a detail more expanded on by mdasen in his comment), it wouldn't make sense to charge the same for them as they have different cost requirements (although it might be somewhat more equal than it is now; in particular, text messages, which occupy valuable and limited control channel space, would likely become cheaper).
A) "So it's UDP vs TCP" <- no... you should read up on "QoS"
B) "why can't" <- I did not claim they cannot... I stated that they don't (they don't even use the same frequencies in the air), and that even if they did, you wouldn't charge the same due to the QoS differences.
Text messages are an interesting one. Essentially, they cost nothing to the carrier in that they get transmitted as part of the control channel. However, there is a cost to supporting a phone idling on a network. The control channel has to be in communication with it using up bandwidth. So, the SMS gets put in with the control channel instructions and so its marginal cost is 0, but there's still a cost. Beyond that, your carrier has to pay a termination fee to the receiving carrier when you send a text message to them and that is a cost. So, when you send a text message off-network, there is a cost to your carrier.
Voice similarly travels a different path. In CDMA systems, the voice channel and data channel are physically separate. Even with UMTS where the voice and data traffic travels over the same channel, there have been significant advancements for data transmission (HSPA, HSPA+) that allow for greater efficiency.
Even with VoIP, a real distinction can be made. Like texting, the carrier of the receiving party charges a termination fee to the carrier of the calling party. So, if you're on Verizon and call a user on Sprint, Sprint charges Verizon to connect the call (http://en.wikipedia.org/wiki/Termination_rates). That means that while VoIP would use network resources in the same way as data, the carrier would face a higher cost because of the termination rate. This is also why many free VoIP services won't let you call those free conference call services (http://bits.blogs.nytimes.com/2009/09/25/att-says-google-voi...). They're usually set up with a carrier who charges an absurd termination rate that pays for the service.
While they are travelling through the same towers, they're taking different paths and those different paths do have different costs. Part of it is regulatory: termination fees are meaningful costs to carriers even if one considers them artificial. Part of it is the current time: in 3-5 years, we'll probably be on VoIP. Part of it is that data transmission (wired or wireless) has low marginal costs, but decent fixed costs: it doesn't cost the carrier much to support you as a marginal user, but they have put tens of billions into their network even if your phone just idles on it. Right now, wireless is priced in a "consumer" way. We don't pay for what we use, but rather some awkward approximation based on what they think consumers will accept charges for. This is in contrast to, say, utilities which usually have a fixed charge for being on the network (to cover fixed costs) and then a usage rate (which covers marginal costs).
I don't really have a conclusion. Carriers are trying to make more money off you in a way that's objectionable, but they aren't the same. I won't defend the pricing, but I want to point out the difference.
At least as far as CDMA and WCDMA go, control signalling is shared for all mobiles camped on a cell. In CDMA, while a mobile is just camping there's not a lot of traffic going between the cell and the mobile on the access and reverse access channel. The mobile registers as per the registration settings, and the idles its radio until it is paged by the cell, it originates a call, or the registration settings require it to register again. When idle, there is no signalling going back and forth on the access channel, so that bandwidth can be allocated for other things.
I'm not at all familiar with GSM, so I can't say how it works. I expect it's similar, though.
Cell network providers have only recently been dealing with this problem. Landline and Cable providers have been reselling the same pipe through "voice", "data" and "tv" channels for a lot longer, and they continue to get away with it.
Carriers will not voluntarily give up this incremental revenue. I live in Boston, when my choice of cable carrier are Comcast and errr... ummm.. Comcast.
Until there are more competing vendors, I think this transition away from arbitrary labels to one single dumb pipe will be much slower that we all hope.
Well if you look at it, unless you use "text" for "surfing" like in this app, it actually does not cost much to the providers. You can not type all day, can you?
So by "unlimited" text all they are saying is that you will tire yourself texting say about X SMS and thats it per day.
1000 SMS * 160 chars * 2 bytes each (arbitrary) = 320000 bytes. Thats just 320KB. Thats cheap isn't it? Can you type more than that per day?