The huge difference is that Cavill just shot 2 Hollywood movies where he's the leading man. People in Hollywood know what movies have been shot that haven't been released yet and oftentimes, casting decisions are based on expectations regarding movies that haven't come out yet and an actor's potential popularity. It's stupid, I know, but that's how it works sometimes and Cavill has that going in his favor.
Jon Hamm was in The Town, but he'll never move out of supporting roles in big-budget films. He can carry a TV series, but he's not George Clooney, he's not going to be an A-list leading man who's carrying big-budget Hollywood movies. That's what Cavill will become in a year or two. He's the next generation of leading man. Hollywood knows this. Whether that means he'll be Superman is unknown, but the point is Cavill's a different breed. He's a young, handsome, A-list leading man and that's the type of actor who's going to be chosen for Superman.
What Jamie doesn't seem to understand is that these casting decisions are so fragile. Previous auditions mean nothing. All they reveal is just how fragile these choices are: McG liked Cavill, Ratner liked Bomer, Singer liked Routh, all these directors have looked at all these actors, they've circled around each other and each choice was made because the hair dropped one inch to the left rather than one inch to the right based on a single person's opinion. Cavill's career is poised for him to get attention for Superman inside of Hollywood, not from average people voting on msn.com. If Snyder likes Cavill for the role and he convices the studio of his choice, Cavill's gonna get the role. If Snyder likes someone else and convinces the studio of that guy, that guy will get the role. But previous auditions mean nothing. You guys may not think I'm a movie director, but I think all of us on this board know that decisions in Hollywood are never written in stone, especially this far in advance and it's absurd to claim otherwise.