I have all sorts of things going at the same time (check out the "What 'cha knittin'?" thread... And I realized I forgot a few there!).
I also get bored with various projects. But also, I have different things to take about to different places/moods; socks are small and easy to take to school, the sweater is better for the commute to work, hats can be done any time becuase they are usually small too, and scarves are good for when I just want to knit without thinking too hard about a pattern.
As for buying random yarn, I'd buy at least two skeins... and I wouldn't worry too much about what to make with it. You can always find some pattern to fit the ammount you have (except large garmets of course) or use the few balls combined together for multi-color/texture things. I almost never hesitate to purchase yarn when I come across something I like. Think more along the lines of, "Ooo, I wonder what I can do with this," instead of, "Whatever will I do with this."
I'm working on the elongated stitch scarf that Amy presented in the paterns section with yarn I bought on a whim because it was just too scrumptious... and I saved it up for the perfect pattern. I have only two skeins, but that will be more than enough for the scarf, and I might be able to get a hat or somethin out of it too.
As long as you can afford to eat, my vote is buy your fancy!
Update: So after writing this, I ran some errands and ended up picking up some new, beautiful apple green lambs wool yarn. I accidentally took my own advice :)