My cat started throwing up even when she wasn't hairballing, and I checked her food (it was Iams dry food, which she got hooked on while we were still living with my brother and his cats), and, yeah, the ingredients suck. Meijer had nothing that didn't either have 'by-product' or 'corn' in the first ingredient, so I had to suck it up and go to PetCo, which usually lets me down. This time, though, they had the Castor & Pollux catfood I always hear talked up on the web, and it's clearly a lot better.
But would my cat eat it? The small bags were expensive, but the 15-lb bag was about the same price as the Iams is at Meijer. And, lo and behold, my cat went bananas for it the way she does for human-style tuna. If she keeps eating it like that, I may have to ration it out instead of just keeping her bowl topped up.
Time will tell if it helps with the hairballs, etc, but it's certainly not a step down.