The Complexity of Simplification
Most of the complications are deductions and credits
Once you know your adjusted income, computing your tax is trivial (flat or not)--you look up your income in the table, and enter your tax. Simplifying the tax code almost has to mean eliminating deductions. Thus, unless you simultaneously cut tax rates, you're actually increasing taxes as you simplify the code.
(The big exception here is the AMT, which I'll discuss in a future post.)
The tax code is complex precisely in an effort to make it fair. If you're a freelancer, for example, some of your expenses are related to your business. Properly speaking, the government taxes profits on businesses, not revenue, so those expenses ought to be deducted from your income. Removing the deduction but dropping rates would have somewhat ludicrous effects on small business owners--for example, people selling cheaper products would get taxed at a lower rate than people selling more expensive ones.
"But," you might say, "we wouldn't lose those deductions!"
You're almost certainly right. But then the tax code remains complex, and you don't get to throw away your CPA's business card.
The law of unintended consequences
Recently, the current administration floated a proposal to remove the deduction for businesses that pay for their employee's health benefits.
That would certainly simplify computing taxes for businesses. It would also remove a major incentive for them to provide health benefits.
Yes, this would help the federal government's bottom line. If it increased the number of uninsured, though, it would dramatically hurt the states financially. Lower federal taxes in return for higher state taxes doesn't sound like nearly as good a deal.