I actually liked Brandon Routh take as Superman. I think he played it well. I don't know why folks have a problem with his acting in Superman Returns.
Superman is not really a conflicted character like Batman. Yes, both of them lost their parents when they were young but Superman lost his parents at a much younger age and as a result he hardly knew his birth parents. His humans step parents always did a good job of raising him well whether in the comics, television series and movies. He did not see his birth parents die like the way Batman did and thus he did not become disturbed like the Caped Crusader.
The way Brandon Routh and Christopher Reeve played Superman was just suitable for the role.
Kevin Spacey was the perfect successor to Gene Hackman as Lex Luthor.
But seeing Kal Penn as an villainous henchman was strange.
Kate Bosworth wasn't good as Lois Lane.