1. Thrift Shops: To be a successful thrift shop shopper, you have to scour the shops regularly. Once a week is good. Ask the shop folks when they put out new stuff. Some shops restock daily, some have specific days. Best times to shop are almost universally on weekday mornings. Look for skeins and balls of yarn, and for hand knit and crocheted items you can ravel to re-purpose the yarn. You might be surprised how much you can get for a dollar or two!
2. Discount/Dollar Stores: Like thrifts, the merchandise in these stores is constantly changing, so it is a good idea to visit every week or two. When I've found yarn in places like Big Lots, Dollar Tree and Dollar General, it has been discontinued/overstock yarns, usually novelties and unpopular colors. But you never know when you might find something you love for a dollar or so, so it's worth a look.
3. Bartering: If you have something nice you don't need anymore, you can trade it for yarn. If you can provide a service someone wants, you can be paid for it in yarn or money. I have sewed curtains and painted walls for alpaca yarn. I have sold all kinds of odd things on eBay for yarn money.
4. Online Shops: Web surfing can be rewarding. Keep a "favorites" list of online shops that have bargain basement or closeout areas. Sign up for email newsletters to be notified of sales and specials. Also be on the lookout for free shipping offers. There are a number of eBay stores that, while selection is somewhat limited, prices are really quite good, and many offer free or cheap shipping.