Maybe the situation has changed a bit, but a few years ago, websites run by telcos could easily offer free SMS messages, since the network operators didn't charge each other for SMS messages. Face it: An SMS message is about the smallest piece of data you could send at all over a cellular network. A second of speech takes much more bandwith. Of course customers who send messages from their cell phones have to pay, but that's just a part of the business plan. It's not like they are causing any actual cost to the network operator or taking up any mentionale fraction of bandwith.
Here in Austria, the situation is that most networks offer flat fee contracts; for 20-25€ per month, all calls (up to e.g. 1000 minutes) are free to all domestic networks, including the fixed line network. Obvious exceptions: Foreign calls, roaming, value-added services. And, you guess it, sending SMS messages. Though it's rather stupid and cumbersome to send a message when voice calls are free, people still do it.
(Receiving is always free, except when roaming; roaming defined as "using the phone in the network of another country")