Even if you already have a solid, trusted system for capturing to-do items, it can still be helpful to have a separate, dedicated app dedicated just to shopping lists. That way you can keep all your miscellaneous to-buy reminders in a single place that works as well for business as for the home. My personal favorite shopping list app is HeadCode's OurGroceries, which runs on iPhone, Android, and the Web.
OurGroceries presents you with a dead-simple set of lists that you've created by any context you want. You could set up lists for home and office, or for specific people, though I prefer to make lists for specific stores. That way, when I'm going to Costco, I have all the things I'll need from that megalithic store all on one list. During the holiday season, this is especially useful, since my shopping list includes gifts for coworkers, family, and friends, and I don't have time to double back if I forget something at one store.
The most significant feature of OurGroceries is its list sharing. Just add the e-mail address of anyone you want to invite, and everything they add will appear on your lists. My wife especially loves this, because she can see items disappearing from the list as I shop--so she knows exactly when I'm heading to the checkout counter and when to expect me home.
My most serious criticism of OurGroceries is that it doesn't let you share lists on a one-off basis, keeping some lists private so your family can't see what you're getting them. It's all-or-nothing.
If shopping is becoming a bottleneck in your daily productivity this holiday season, OurGroceries could be just the thing to help you get it under control. The app is free from Google's Android Market and the Apple App Store.
Got an app you love for keeping your shopping lists in check? Let me know about it in the comments.