Don't go grocery shopping when you're hungry.
Make a list of what you need and stick to it.
Check the unit price before assuming the big package is the best price.
Buying six of something because it gets a discount doesn't save you any money if two of them end up in the trash because you didn't use them.
Unbranded products are sometimes garbage, and sometimes the exact same stuff as the branded products. Sometimes the bold packaging that shouts out to the world that you bought the cheapest option is the only difference between the cheapest option and the most expensive.
Most of shopping these days is psychological warfare. Stores want you to put stuff in your cart. They don't care if you need it or want it or even if you can afford it. Once you paid for it they don't care if it ends up in the trash, just buy buy buy.