This is a great topic with a lot of excellent ideas! Thanks, everyone! Years ago, we created what we call a "master list" in a Word document of the food items that we use. There are two versions of the list - one is a list of menus, broken into breakfasts, lunches, dinners, and snacks, and the other version is a list of ingredients/food staples, broken into categories like fruit, vegetables, dairy, breads, cereals, pork, beef, baking supplies, etc.
Each week we first go over the list of menu items and plan our menus for the week. We do add menu items to the master list when we come across a new recipe that we like. We plan our menus based on four things - what we already have on hand, what is on sale at our grocery store, what we have a taste for, and what we have the preparation time for that week.
Once we have our menus, we go over the list of ingredients/food staples and add anything that we are out of or that we need for that week's menus.
We also have a master list for household staples such as cleaners, toiletries, paper products, etc. We go over that list each week and add the needed items to our grocery list as well.
This works very well for us!