A few years ago there were valid technical reasons for why crypto is not being adopted by retailers in the form of slow transactions throughput and high fees. Nobody wants to wait a minute and spend $10 for their transaction to go through. These technical reasons no longer exist. L2s are extremely fast, secured by L1, and fees are small. And with the upcoming sharding upgrade Ethereum is going to be even faster. From a technical perspective, you could now accept USDT (or any other token) and have verification be about as fast as most card payments, with lower fees. But all of these are relatively recent developments (~1-2 years), and it will likely take a few years before all this technology trickles down into real-world adoption.
a) It is too volatile.
b) Consumers are not demanding it.
Not sure what the magical solution to either is that hasn't been tried before.
2) True, I think the negative image and bad UX of retail crypto is a big reason of why retailers have not adopted it. I'm not sure this will continue forever though.
3) I would add that taxes are another reason retailers are vary of adopting crypto. Depending on the country, dealing with crypto taxes is a pain, and not worth the effort.
The magical solution? It's time, competition, and the free market. If crypto is truly cheaper and easier to deal with, startups will push it onto retailers to replace credit card incumbents. But these things don't happen overnight.
In the end it's a circular economy in a way, for anyone cashing out USDT there is someone cashing in (assuming the price stays constant). Right now we match them up with marketplaces and SWIFT transfers, but people running around with suitcases of cash would work just as well.
You have to have an awful lot of trust that this briefcase full of cash will be available to train back should you ever want it again.