In the old days SMS was effectively free to provide, as they are sent embedded in the voice and service traffic in such a way that it does not use any further bandwidth, but the sheer humber of texts means that it not necessarily true any more AFAIK.
However, if you are paying 7c a text, the profit margin is enormous.
A few of the reasons are ( in completely non-technical language)
SMSs are embedded in the traffic that is already sent, sometimes in "gaps"
An SMS is a tiny amount of information, compared to a voice call
A gap of a few seconds or minutes in transmission does not matter, where-as it matters a lot in voice calls. Voice calls always take precidence and SMS wait.
SMSs are delivered on a "best effort" basis. There is no 100% guarantee that a text will be delivered. The failure rate is tiny, but there is a failure rate.
All of these reasons mean that the cost to the networks of SMS is tiny.