I see it more as a secondary option. The primary reason being, if everything's in stock, I should be able to get it today, with maybe a 1-2 hr waiting time. If I want shrimp pasta tonight, I can order the ingredients at lunch break, and pick up on my way home.
Other reasons could be people have poor delivery from their UPS driver, stolen packages, some people prefer not having people come to their door, some people feel empowered by going out and getting what they want, when they want to get it.
The biggest reason could be that it's ultimately a lower price for everyone, assuming its cheaper to hire junior employees to walk the store and pick my groceries vs hiring a driver and a truck to take the stuff to everyones door (plus someone to do all the picking).