It is still a problem to be solved because if you buy an iPad on Amazon, you know what you will get. If you buy a potato, it is a different shaped thing every time. -> higher chance of dissatisfaction
I don't think it's that big of a problem. In the UK all the major supermarket retailers do home deliveries and I've used the services for 4 years.
The produce that quickly goes out of date usually has a message on the website telling you the minimum time it will last for (e.g. 2+ - they won't deliver something that will go out of date in else than 2 days).
If items you want are not in stock they substitue but give you the option of refusing the substitute and taking a refund instead. If the substitute is more expensive they will give you it at the cost of the item you actually wanted.
In the last 4 years I can't think of one bad experience other than a driver being late because he broke down once.