Actually, the question isn't whether it's fair. The question is what effect it has.
Republicans argue that tax cuts are good for the economy, and therefore good for everybody, no matter what. But a tax cut for Joe and Sue has a different effect on the economy than a tax cut for Brad. Joe and Sue will likely spend their tax cuts, therefore giving an almost guaranteed short-term benefit to the economy. Brad will likely save, or invest, his tax cut, therefore giving a less guaranteed a long-term benefit to the economy (less guaranteed because it's possible he'll make a bad investment).
When Democrats complain about tax cuts tilted toward the rich, what they're really pointing out is that it costs a lot of money to give rich people a 20% tax cut, and there isn't as immediate or reliable a return benefit to the economy.
It might be worth the gamble that Brad will make good investments and help build the economy of the future if we have a lot of money laying around to give to Brad. But in a time when we already have huge budget deficits, it just doesn't make sense to diminish the quality of life (i.e. public education, social security, homeland security, etc.) of all the Joes and Sues out there so that Brad can get a big fat tax cut that won't necessarily make anyone's life better in the near future.