MIT economist Jonathan Gruber, an architect of the Affordable Care Act, has found himself at the center of an Obamacare controversy—again—after the Daily Caller unearthed comments he made at a 2013 academic conference about the legislative history of Obamacare. “This bill was written in a tortured way to make sure [the Congressional Budget Office] did not score the mandate as taxes,” he said. “If CBO scored the mandate as taxes, the bill dies, ok? … [L]ack of transparency is a huge political advantage and basically, you know, call it the stupidity of the American voter or whatever, but basically, that was really, really critical to getting this thing to pass.” Conservatives have claimed these comments are definitive proof that Democrats and partisan journalists lied to the public to pass the bill—an accusation they have made, over and over again, during Obama’s presidency.

That argument has always been overstated. As policymaking goes, the process of writing and debating Obamacare was actually pretty transparent. But Gruber’s comments, inartful as they were, reveal a dirty little secret about legislating: Congress uses budget gimmicks all the time to hide the cost of bills and limit their political repercussions.

In fact, both Democrats and Republicans have done this in the past year. Paul Ryan, for instance, refused to call the increased airline fees in the Murray-Ryan budget agreement a tax increase. Conservative groups saw through this obfuscation but Ryan refused to change his position. When both parties needed to find a funding patch for the Highway Trust Fund, they used a budget gimmick called pension smoothing to offset the cost. But pension smoothing doesn’t actually save any money. If anything, it could add to the deficit. Nevertheless, the legislation passed the Senate 81-13 and House 367-55.

Congress’s favorite trick for hiding the cost of legislation is to use the tax code. You’ve probably heard Republicans protest the $3 trillion that the federal government is projected to spend in 2014. But did you know that the government spends an additional $1.3 trillion through the tax code? It does so through tax expenditures—things like the home mortgage interest deduction and the deduction for employer sponsored health insurance. Most Americans don’t think of these tax breaks as government spending but that’s exactly what they are. That’s not their fault, of course. Few people actually follow what happens on Capitol Hill and the media does a terrible job explaining that tax expenditures are just a hidden form of spending. But it’s true nonetheless.

Congress often takes advantage of this ignorance—the stupidity of the American voter, as Gruber said—to pass bills that increase spending. In July, for instance, House Republicans passed a bill to fix the marriage penalty in the Child Tax Credit, at a 10-year cost of $115 billion. Since the deficit-obsessed House GOP fought for $39 billion in cuts in food stamps, you might have expected them to demand an offset for the Child Tax Credit bill. You’d be wrong. The legislation had no offset. If Republicans had proposed a $115 billion in new spending for families with children, do you think it would have been as easy to pass? Of course not.

In the next few weeks, Congress will take advantage of this voter (and media) ignorance once again. Democrats and Republicans want to pass a collection of tax breaks known as the “tax extenders” that expired at the end of 2013. These extenders would cost $41 billion next year. The House has passed bills to make some of these tax breaks permanent, at a 10-year cost of $534 billion. When former House Majority Leader Eric Cantor was asked about the cost of the bills in May, his answer was nearly incoherent. "We have essentially been allowing an R&D tax credit since 1981 in this country,” he said. “So let's just call it what it is and make it permanent so that we can get back on the path to growth. Addressing growth, addressing our unfunded liabilities connected with entitlement programs, that is the sure way to reduce deficits and reduce the debt burden.” In Cantor’s world, it seems, spending through the tax code doesn’t add to the deficit but entitlement programs do.

Gruber clearly understands this as well. “This is something we've seen going back through the Clinton and Bush presidencies which is that public policy that involves spending is typically less politically palatable than policy that involves doing things through the tax code,” he said on MSNBC Tuesday. “It would have made more sense to do Obamacare the way we did in Massachusetts which is to actually give people money to offset the cost of their health insurance. That was politically infeasible and so instead it what was done through the tax code. That was the only point I was making.”

From his comments at the conference in 2013, it’s not clear that’s all Gruber meant. Based on his words, he could have also been talking about whether the individual mandate is a tax. For political reasons, the Obama administration refused to call it that during the debate over the bill. But when it was before the Supreme Court in 2012, Solicitor General Donald Verrilli argued the exact opposite—and Chief Justice John Roberts agreed, upholding its constitutionality based on congressional power to levy taxes. On that note, it’s undoubtedly true that Democrats crafted the bill to minimize its political weaknesses. At times, that meant doings that deceived the media and voters, like Obama’s promise that Americans could keep their insurance plans.

But conservatives are treating deceptive policymaking like a black-and-white situation, when it is much murkier. Did Cantor effectively lie when he sidestepped the question about the cost of the tax extenders? Are Republicans massive hypocrites for demanding offsets to spending bills but not tax cuts? (Yes.) Promoting legislation has an element of salesmanship—playing up the good, while playing down the bad. The question is when that salesmanship crosses the line into deception, or outright dishonesty. And that’s not always an easy question to answer, particularly with partisan loyalties clouding judgment.

It helps to have reliable, independent watchdogs like the Congressional Budget Office. CBO cuts through the political labels to assess what each law would do. It always said that the individual mandate would bring in revenue, for instance, no matter whether Democrats called it a tax or not. And since the tax credits are refundable—meaning the recipient receives the credit beyond their income tax liability—CBO scored most of them as spending, even though the Obama administration didn't refer to them that way.

These nuances often get lost in the media however. Legislative debates would be more honest if more political reporters had a working knowledge of policy. But while it’s nice to imagine a world in which politicians promoting ideas were always forthright, balanced, and disinterested, that’s not realistic. Both Democrats and Republicans take advantage of voter ignorance. If conservatives are going to call out Democrats for it, they should call out their own side as well.

This post has been updated.