These wallets are good, they serve their own purpose and they're the only way we can easily transact between fiat and cryptocurrency despite being centralized.
Yes for services its good but what OP is trying to prevent here are those cases that accounts of users got compromised on the exchange and some cant refund them if the exchange has totally devastated by the hackers. There are no insurance when it comes to this and luckily if those big wallets have contigency funds for this but what if they dont have? So users are doomed. So he suggest to have own wallet where PK or keys are hold by us.