Should be easy to use, remember what I bought before and propose things that are probably running out (based on my personal buying frequency), and allow sharing the list between multiple people. Ideally also allow adding recipes for meals that I cook often.
We follow the principle of doing one thing well instead of all things mediocre, so we use 2 solutions for what you asked. As others in the thread, we do use Tandoor, but only for Recipes and Meal Planning. It does this execeptionally well, but the shopping list part is fitting to our style of shopping.
As a shopping list, we use David Shays Groceries / Specifically Clementines. Why?
There is more, but this post got too long already. It also has User Management, Permissions and Live Sync. Yes, my Partner can see live when I tick of items on the list and can put stuff on the list while I am shopping :-)
Everything in that software feels like it was created by a person that goes actually shopping.
It has a very good web interface (which also has the offline mode AFAIK) and a very good Android App.
Does it look fancy? No. Has it everything we ever searched for in a shopping list app? Absolutely!