I put some of the blame on retailers as well. Retail stores just don't want to carry inventory anymore, especially tech-focused ones with many of those just turning into glorified showrooms. I don't know how many times I've heard some version of: "Sorry, we don't have that in stock but we can bring it in for you."
We needed a short length of garden hose here for the house so I went to two hardware stores and one garden centre looking for one. Nothing. Not even in their dedicated gardening sections. I had to order it off Amazon. A goddamn garden hose.
Amazon has done a lot of damage for sure but retail is suffering from several self-inflicted wounds too. Home Depot, for example, is a multi-billion dollar corporation and even they have a weaker retail presence now. That's not Amazon's fault.