WASHINGTON—A divided Supreme Court struck down decades-old limits on corporate political expenditures, potentially reshaping the 2010 election landscape by permitting businesses and unions to spend freely on commercials for or against candidates.

President Barack Obama attacked the ruling and said it gave "a green light to a new stampede of special-interest money in our politics," particularly "big oil, Wall Street banks, health-insurance companies and the other powerful interests" that "drown out the voices of everyday Americans."...