Hooray, you've finished your taxes! Let's complain about them.
There's no wrong way to whine about the U.S tax code, but some of the most popular fine whines are more intertwined than you might think. Consider a few common refrains:
(1) Poor families should pay more income taxes. (The GOP presidential candidates said this.)
(2) The tax code is too complicated. (Everybody says this.)
(3) Tax breaks privilege the rich. (Liberals say this.)
(4) Tax rates are too high. (Conservatives say this.)
These are separate complaints, but I think they're all part of the same story. And that story is tax spending in the federal income tax code.
You can think of the U.S. tax code as mostly comprising two separate tax buckets. The first bucket is payroll taxes. They tend to account for about 40% of government income. It works like this. Everybody on a payroll -- hence the name -- gives up a bit of money to fund dedicated programs like Social Security and Medicare and unemployment benefits. We don't tinker much with payroll taxes because, after all, they're for dedicated programs. (We did, however, recently cut them to stimulate the economy.)
The other "bucket" is federal income taxes. These also account for about 40% of the government. But they don't really fund specific programs. They pay into a general fund that pays for everything from education to defense. But with this tax bucket, we tinker, tinker, tinker all the time to award and punish behavior. This tinkering is expensive. By choosing not to tax employer contributions to medical insurance, the government gave up $130 billion in 2008. By letting families deduct mortgage interest on their homes, we gave up another $90 billion. By paying families credits for their children, we gave up another $30 billion.