Here's a perhaps-unexpected way that biking to shop has saved me from impulse buying. When you have to shop by bike, you think hard about just how much you want to haul back home. If you really want to lower the boom on your spending tendencies, pick a small bike bag. You learn pretty fast just how much fits in that thing.
I come back from a trip and I need groceries. I get on my Gazelle Medeo, a heavy (by American standards) Dutch-made bike. It's got shocks on the fork and the seat for a super comfy ride. (Take that, you potholes!) And it features a nice built-in bike rack that lets me snap a pannier-style bike bag into place. One that can get my basics back home in fine shape.
So off I go after two weeks away, looking to fill the pantry back home. The fascinating thing is how this instantly changes what I pick up in the grocery store. Nothing like having a single bag to carry home to help you separate the "have to haves" from the "nice to haves".
It gets pretty simple: you don't buy what you don't need when you have to fit it all in a bike bag and pedal back home.