WalMart carries some decent yarns and some really crappy yarns, but you can find some good deals there. I can find Lion Brand yarn, which is good, and Patons, which is slightly better, at Michaels. KnitPicks has great prices. http://yarn.com has good deals on yarns, too - if you happen to like a discontinued color, you can get yarn for incredible prices there. I learned about Little Knits (http://www.littleknits.com) here on KH. They have some good sales that you can watch, too.
As for which yarns are good yarns to buy - it all depends on what you're making. You can use just about anything for scarves - different yarns give you different looks, and they're a great way to experiment with different yarns. You can get Sugar 'n Cream cotton yarn at WalMart or Michaels and that's good for dishclothes. I like the Lion Brand Wool Ease for afghans, since you can machine wash it if you need to.