Learn to Crochet & Knit.
I shop for yarn at garage sales and when I find it, I bargain for 10 cents per skein. The seller almost always takes the deal. I do also sometimes find yarn in discount stores and dollar stores, but I only buy it there if it's the really nice "fuzzy" yarn and I use it for special projects and borders.
One thing I like to do is make baby blankets. When I give them to expectant mothers, I include a little card with this message:
Precious baby, though we haven't yet met, I made this gift just for you. My thoughts and prayers were carefully woven in to each chain and stitch and turn. And so each time this blanket is wrapped about you, know that it is more than simple warmth and comfort you are receiving. It is a loving hug from me.
That isn't from anything - I wrote it myself and you're welcome to use it, or any version you come up with. It grew out of what I told my own children about the blankets I made them when I was pregnant. I've always told them any time they needed, if I wasn't available for some reason, they could wrap up in their blankets and know this was a hug from me.
If you take the time to learn to knit or crochet, if you don't already know how, you will be able to create many lovely gifts. Free patterns abound on the 'net. I like to listen to audio books while I work, and often the kids and I will sit in the den and listen together. My daughter and I will work on some type of project and my son likes to just lie on the floor and listen. Just to note - crocheting (which I do enjoy more, sadly for me) does use more yarn than knitting. It also typically produces a "heavier" result.