Do they really have such little self-control? Are they trying to be cute?
It doesn't bother me that other knitters amass such large stashes (they can do whatever they please!) but it does boggle the mind a bit. I buy for specific projects, or for vague projects (i.e. "a hat" but a specific pattern has yet to be determined). However, sometimes I don't end up making those things, or I have some yarn leftover, so I do have a small stash from failed initiatives and odds and ends. It will all get used up though. My next few projects will be knit from my little stash - which will encourage me to finally knit a whole pair of adult socks! (I made a pair of baby socks, and one sock for my husband. Unfortunately - or really, "fortunately" - he has two feet so it doesn't do him much good.)
There was one really indulgent purchase that I made. I was still a newish knitter, at a local yarn shop that has unpleasant owners but an amazing selection of yarn and frequent sales. I saw the most beautiful yarn... A blue skein of Fleece Artist. And it was half price! But it was much too fine for me to knit with at that point, so after I paid for it, I lovingly fondled it and then packed it away. It was like a "grown up skein," something to work towards and anticipate. That skein is now an almost-complete shawl and holy hell it was so great to go to my sewing room, get that prized skein that I've been waiting years to knit with, and cast on!
Do you stash? Is there a method to your madness, or do you just buy whatever you like?