Free numbers are public: anyone can read the messages sent to them, and the same number has usually been used on a service many times already, so it is often rejected.
A paid number is assigned to you alone for the duration of your order, so the code is private and the number has not been burned by earlier use.
For anything you care about, a paid private number is the safer choice.
