Fair internet voting is generally an unsolvable problem, unless you have a voting list from a more reliable source and you can authenticate people on that list. Despite best practices, any high profile "best person in the world" poll has a pretty good chance of being won by moot/Lowtax/gimmick-meme-of-the-day.
Best answer is probably just to use Facebook Connect- they're already pouring money into CS reps whose job it is to take down fake accounts. Blocks out people who aren't on Facebook, but it's a simple solution to something that can otherwise be a huge timesink.
How much of CNN's viewer base is Facebook-connected? The point of this sort of polling is to drive traffic - this ain't gonna happen if most of the people can't vote without going through a big signup for a service they don't want.
But a big part of the system described there is about authenticating people as being registered voters, which is what extension said the prerequisite was for fair internet voting.
quite surprising, since time's poll has historically been a target of similar attacks.
Several (flawed)things, limit voting to ip, mail confirmation, but I think a captcha would be the best trade-off between inconvenience for the user and blocking bots.
Captcha makes it harder, but it doesn't block bots. You can use Python's sphinx library (the voice one) to turn those mp3s back into the original text, then use mechanize or windmill or whatever to re-enter it.
Choosing a new salt that isn't easily obtainable in a flash applet would certainly help :)