Imagine if people routinely traveled to a shop and spent 20-30 minutes collecting mail addressed to them, then traveled home. If mail happened regularly enough, this would be a very inefficient arrangement.
Why is grocery shopping any different? Most people buy pretty much the same stuff on a routine basis. Items have varying shelf-life, making parcel shipment practical for only a subset of items (not to mention the hassle of dealing with all the boxes).
Local grocery retailers are essentially market makers for the items they carry. They also provide parking, merchant processing, and a variety of other services (like store brand items, made-fresh refrigerated items, etc.)
Unless you are a chef looking for inspiration or insist on getting the absolute best looking tomato in the whole store, for most people, the time spent trudging through the aisles is mostly wasted.
In other words, the lack of delivery imposes a significant transaction cost upon obtaining groceries. Thanks to Instacart, I buy a lot more groceries than I used to, which means I spend less money at restaurants. Instacart turns grocery stores into a bigger competitor for restaurants.
Unlike Seamless where you pay close to $5 for delivery of a single meal, with Instacart you can order food for a whole week and pay not much more to have it delivered.
Instacart makes keeping the fridge in stock with just the right items significantly easier and removes the immense hassle of manual shopping/transport.