Telcos and Mobile Money services where I come from (Malawi, Africa) use USSD extensively and it works well. So much so that even though some Telcos have Android applications for some of those services - people still mostly rely on USSD menu-driven applications to perform tasks like buying airtime, and sending and withdrawing money.
You can’t use it for your own applications willy nilly, though. You have to talk to the sms center of your comms operator, and that comes with costs and infrastructure to set up.
Yes, this is similar to having an application server hookup from the Videotext days, or for a more recent example, to have a point-of-presence in someone else's datacenter.
I'm not sure if there are gateways to the internet available for the server side, that would seem to be a logical development.