No they are not exactly free. You may have to pay your usual charges to your phone service carrier.
Also, when I had it, I was being charged 25c for every text I received through Yahoo, and they basically sent me texts all the time - for example, to tell me my contact had logged off or something like that.
It really depends on your carrier, but you will almost certainly be charged something at some point. I didn't care about the cost, but found being constantly spammed by Yahoo really annoying.
However, if you only send and receive the SMS messages through Messenger, then it's free - but your contact will only get the message when they're on Messenger.