I never shop at Walmart just on principle. They pressure their manufacturers to outsource US jobs, don't get me started. I don't shop at Joann's because their fabric is inferior. Every fabric is made is three different qualities and that is influenced by thread count and cotton quality. If you have a good quality cotton fabric with a higher thread quality and feel it in one hand and a lesser quality fabric in the other hand it is easy to tell.
Holding out for better quality fabrics can take some work and time. I don't stash fabrics, I stash projects. That means that every piece of fabric that I buy is for a specific project. I plan my projects in advance so that means that I can buy over time and take my time to purchase fabric. If I come up with a project that I need to do quickly then I use the scraps, bits and pieces that are left over from projects. I don't know about anyone else but I usually have a few quilt tops hanging around that I can quilt up for a quick gift as well.