I tend to scour the internet for clearance sales and then buy some with a particular project in mind. It might be for crafts or, more likely these days, for dresses, dungarees, rompers etc for my baby GD. I have several lengths put by for summer dresses and matching knicks. I also pop into fabric shops when visiting different towns to see what's on offer. Hobbycraft is a good source of cheap fat quarters for simple craft projects - bunting, soft toys and so on.
I have to confess, though, that I do buy fabric randomly, just because I see something and fall in love with it, and convince myself I will think of something I want to make with it. An example is a metre of lovely cream fabric printed with black musical notes, which I found in Tavistock market. It's 100% cotton and beautifully soft. That's where the internet falls down - not being able to feel the fabric before buying.