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.
That was true at one point, but the popularity of SMS has completely swamped the capacity of the control channels.
I'm not at all familiar with GSM, so I can't say how it works. I expect it's similar, though.