- that when he pays with two inputs he must pay twice in fees, like when paying with two $10 bills you're charged more than when paying with a $20, oh wait...
- explain to the average Joe why he should pay the fee when his card is free
- explain that if something gets wrong with his coins there is no support number
Average Joe will not use decentralized Bitcoin, he will use still a centralized solution if he is forced to, and by then the picture for BTC will look just like the one for Fiat. Harsh and not the reality we want, but it's reality nonetheless!
Lets not forget about the mechanics of Bitcoin. Especially explaining what's written on the code, what it does, and how does it work. Fiat by itself is NOT programmable and exists in physical form. Even a kid can pay with paper money without the need for technical knowledge. With Bitcoin, not only you'd need to know which fees to set out right, but also you'd need to double-check the address you're sending the coins into, and also make sure your wallet isn't compromised.
Anyone coming from the Fiat world, will find it hard to get used to Bitcoin. At least, within the first days. Fortunately, some wallets are becoming easier to use thanks to developers' efforts on improving UI, automatically setting optimum fees based on network congestion, etc. I'm talking about on-chain BTC, of course. The Lightning Network is another story. It's only been 15 years since Bitcoin's inception, so I'd give it more time to mature. Who knows how far will mainstream adoption go in the future?