I've used both Instacart and Walmart delivery because I don't have a car and live ~3miles from the nearest supermarket.
In my experience, Instacart has worked very well: the only issues (2-hour delivery window, tip for delivery) are upfront, but I rarely get messed up / late / bad orders. The website is also great.
The only time I used Walmart, my delivery was rescheduled to the next day, something which never happened with 50+ Instacart deliveries. And the website sucks.