I've used Ocado for years. I've also tried deliveries from the other main supermarkets. While the others have consistently disappointed, Ocado has consistently delivered. A few of my favourite points:
1 hour delivery slots
Change your order up to the night before + a text to remind you
Delivery on time every time - sometimes early, but drivers call to check it's convenient
Friendly drivers
Easy to shop using favourite items, special offers
You can't accidentally order out of stock items
Items RARELY missing or substituted in order + text to let you know
No random/weird substitutions
Drivers collect used carrier bags
Bags colour coded for fridge, freezer, cupboard, substitutions
Delivery note listed in order of "use by date"
Returns, refunds and errors simple to process online or by phone