1. Not enough yarn to finish the project you bought it for
This is an obvious one. I thought I had bought enough yarn for the scarf I wanted to knit, but I hadn't. I had to either buy more of it, or rip the whole project back and put the yarn back into my stash.
Luckily the only thing I needed was one yarn of Patons Classic Wool Merino (which I was able to buy at half off, thanks to a Joann's coupon). I know several friends who have had to drop an extra $50 or $100 just to finish their project due to an unexpected shortfall.
2. I didn't know what I wanted it for… now I do, but I need more
Why do we buy a single skein of yarn at a time? It's a tacit acknowledgment that you don't know what you want to do with it, and you know it's too much money. If you thought you could afford it, you would have bought more! Buying just one skein of yarn is a danger sign… one that I don't always heed.
I have a single skein of laceweight yarn that needs a mate before I can start knitting the project I've decided is best for it. But given the cost… I'm holding out a little while longer, and hoping that I come across a project that I can finish with just the one skein.
3. Someone else's problem
I have several random skeins of yarn that people have given me as gifts. Which is awesome! I love yarn gifts, and I'm always happy to take other people's de-stash stuff, particularly when it's a nice yarn (i.e. not half a skein of Red Heart Super Saver in mustard yellow). But in each case, I have ended up having to buy more of it in order to make anything useful. It can be pretty tricky to find the same colorway, and you can pretty much forget about matching dye lots.
Still though, I try to think of these as projects I did for half off. (If I got one skein free, and had to buy one skein, that's half off, right?)