That's a good question, Celia, and I think there's more than one answer. For me personally, how I shop depends on whether I'm flush or tight for money. When I'm flush, I'm more likely to splurge on an item that I love but that carries a bit of risk -- like, is there a chance I might not wear it often? Is it a departure from my regular style?
When I have less to spend, I try to stick to things that are true "wardrobe holes," i.e. thing that really are lacking from my wardrobe. This is annoying, because when you're out and about shopping for a specific item, you will inevitably come across adorable things you don't need! For me it's bottoms -- I can always find skirts and pants I like, but rarely tops. I have to keep myself from buying more bottoms at the moment, because I have more than I can wear, whereas lately I seem to run out of tops, so I've given myself the green light to get more daytime tops if I find any I like.
Also, I try not to let myself buy duplicates of things that I already have, even if I love them and wear them all the time. For example, I have a denim short skirt that is super useful, and recently I saw another one in a different wash in the store I got it from. I was tempted to buy it, but didn't, because there's still lots of wear left in the one I have.
As far as the "it" colour of the season goes, I don't worry about that too much. The colours I like and that look good on me don't change, so if I find something super flattering that I like and need, I'll get it, regardless whether or not the colour will be "in" next year.
One more thing. Even if I'm on a tight budget, I always look for high quality. Sometimes that means paying a bit more for each item. If so, I just buy less -- one top instead of two, say -- because I really hate getting ripped off. When a garment shrinks or the seams go funny when you wash it, or it gets all pilled after a few washes, I really feel ripped off!