I buy more often than not just because I like something. Sometimes I have a pattern in mind, but not that often. If I love it, I'll buy 3 yards, really like it, 2, like it, 1.
I do buy precuts because sometimes I just want to get some fabric and like to have all the pieces from a collection right there. :)
I do shop online a lot and try to hit the sales, but more often than not, what I love isn't on sale. Though sometimes I get lucky!
And I buy it much, much faster than I sew it. I really should rein it in, but you know once it's gone, sometimes it's really hard to find....