You can thank George W Bush. He said as he was signing the bill that he thought parts of it were unconstitutional but he had faith the SCOTUS would scale that back. Outrageous!
Well he signed a bill he admitted was unconstitutional on the gamble that SCOTUS would fix it and he was wrong. Heck, at least McCain said he thought it was a good idea.
However, I remember it chipping away at free speech so that it was nicknamed "The Incumbent Protection Act". That is, it protects incumbents by prohibiting people from reminding and pointing out the aforementioned's legislative record within some number of weeks of the election.