Unfortunately, Amazon isn't measured against some platonic ideal of what an online retailer could be. They are measured against their competition. And, as far as I can tell, there is no credible competition.
I ordered a "survival" order from Walmart to restock my pantry back in early March after returning from a long trip. I made the mistake of including milk and some grocery items. Not only did I have to pay the delivery, but it took two weeks and by then they didn't have any of the things I ordered in stock anymore.
At that point I temporarily had a vehicle so I just went to Costco.
It's hard to see how Amazon will ever be challenged when the competition is so bad.