Parents shop in the gaps of the day: on a bus, in a queue, between bedtime and the dishes. The app is closed a dozen times between choosing a coat and paying for it. If the cart forgets, the shop loses the sale and the parent loses patience.
Pinafore keeps the cart in two places. On the phone it is saved after every change, so it opens instantly and works offline. On the server it is stored against the account, so the cart is there on a second device. When the two disagree the server wins for items and prices, and the phone wins for what the parent has just done. A line that has gone out of stock is kept but marked, not silently removed.
That last point is the one parents notice. A cart that quietly drops a dress feels like a bug. A cart that says 'this size sold out, choose another' feels like a shop. The wishlist works the same way, which is why it was cheap to build once the cart was done.