I never would by exactly what I need. I also never buy in quarters, with the exception of FQs. I always try to buy in at least 1/2 yard increments. That way I know I'll have enough if the fabric is crooked. It's nice to get a little extra, but I don't expect it. If the fabric is cut crooked on one end, I don't mind as long as it's measured from the short side. It's not the shop's fault if it's crooked. As a buyer, I feel that it is my responsibility to look it over before I purchase it. It's especially important for me to buy a bit extra as I do buy a lot of my fabric online. There just isn't much variety locally. Hours are a problem too, as only Joann's is open in the evening and on Sunday.
The worse piece I ever bought was a children's print which was a strip border print with dogs on it. It was so crooked I had to cut with scissors! The quilt came out fine, but it took forever to cut those pieces! LOL This was not a cheap fabric either, it's was over $8/yd.