Away we go. Tons of spoilers in here, folks.
TL;DR: They got the trappings of the character mostly right, and the heart of the character mostly wrong.
I finally got to see MoS on Saturday afternoon, and I went in with what I thought were pretty reasonable expectations. I expected something entertaining, generally in the ballpark of the comics version of Superman, with a good cast, and some great action. I got three of those four things; I seriously have no idea how they ended up so far off the mark with Superman himself. As Mark Waid said in his review, "...if this had been a movie about a guy named Ultraguy, I might even have bought what he did," and while he was talking about a specific moment in the movie, I think that goes for me across the board. As a generic superhero movie, I think it may be one of the best ever made. As a Superman movie, it falls behind even Stalkerman from Superman Returns.
This is going to be long, which I'll apologize for, but it's been rattling around in my brain for a bit, and I kind of needed to get pen to paper in order to exorcise it. So, my apologies, and if you want to bail, I won't take offense, but if you want to argue, read the entire thing, because it's meant to be taken as a whole.
Let's start off with the Christ imagery. Now, it's not bad, on the whole: I mean, it was hamhanded and for the most part not even vaguely subtle, but it's Zack Snyder directing. "Subtlety" is not really a tool in his toolbox. And there is a pretty strong Christ metaphor in Superman, although I think Moses is actually more accurate; but that's neither here nor there. That said, some of the choices they made in service to that Christ allegory mean that they had to sacrifice the base Superman character, and those should have been jettisoned. For example: Superman is 33 in the movie, and that's a really weird choice for this particular origin... until you remember the fact that most theologians agree that Christ started his ministry and was crucified somewhere around the age of 33. Prior to that, he had performed some minor miracles, which are analogous to saving the schoolbus and the other small feats that Lois used to track Clark down. But it wasn't until his early 30s that Christ chose to make himself known to the world and start his ministry, and it's pretty clear from the heavy use of the Christ imagery in the film that this is what Goyer/Nolan/Snyder were going for with Clark being 33 before becoming Superman.
And that's a problem, because it ties into a greater issue with the film in general. In the comics, even the later revisions of the origin story like Birthright (which MoS draws pretty heavily from), Clark has his shit together not long after he leaves home. Beyond that, he has his moral center really by the time he gets on the bus out of Smallville; he's still working some things out, but Clark in Birthright, by 25, has a degree, a job, has been making a lot of major, if behind the scenes, rescues and the like for years. He's got a great degree of control, not just of his powers, but of himself. In earlier stories, he has it even before then; the Byrne version of the origin story had him basically ready to start being Superman by the time he was 21 or 22. None of that comes through in MoS. Clark has been "finding himself" which is about the last thing he should need to do. One of the central points of the character is that Ma and Pa Kent have already instilled in him his morality by this point, and that he's just basically figuring out the details of how to make things work. Beyond that, he's already decided what he wants Clark Kent to be, even if he had never figured out that he wanted to be Superman: a reporter, doing good in a human way; not working on a fishing boat or a diner while trying to hide out. But, again, that ties back into the Christ motif of him being a humble carpenter before beginning his ministry.
And this lack of moral centeredness is pretty much where the wheels really fall off for me. The stuff on Krypton with Jor-El is pretty great; really excellent space opera stuff. Then they cut to Clark on a fishing boat, which, okay, is a little odd, but I was willing to roll with. He saves an oil rig! Awesome, great Superman stuff. And then he disappears and is baptized (in case you thought him ending up in water after the oil rig was an accident), and goes and steals some clothes. ...Alright, movie, that's a little weird, but he did just save a bunch of lives. But, I mean, he's clearly not freezing, and he's just taking it to fit in with the rest of the populace; couldn't you have had him get some clothes from a donation center instead of stealing them out of some random stranger's car? Or just even gloss over it entirely and move onto him working in the diner? Well, whatever, I'm still with the movie at this point; it's more good than bad.
And then it really starts to lose me. He protects the waitress from the grabby trucker in the diner, and that's good. He walks away from the fight, which is okay, although he could have easily put a good scare into the guy without either hurting him or seeming superhuman; a big, strong looking guy like Clark can easily pick another person up with both hands and toss them out a door. Instead, he goes outside and literally destroys the guy's ability to earn a living. Even if the guy is insured the destruction of that truck had "act of God" written all over it. It was just such an outsized reaction to what the trucker had done. It indicates a character that either can only barely keep his temper in check or has no real feeling for what humanity has to deal with, either of which is bad for a portrayal of Superman.
And this was the pattern for the rest of the movie. Clark does something that seems all Superman-like and heroic, and then he does something that makes me go, "Wait, WTF?" He tells people in Smallville "get inside," then starts tossing Kryptonians through walls. He fights the Kryptonians in Smallville and saves the military personnel he can, then fails to drag the Kryptonians into the cornfields, or even try, for most of the fight. He destroys a multi-million dollar surveillance drone to make a point, instead of just grabbing it and crippling it by, say, pulling its engine off. He fights Zod in Metropolis's city center, probably killing tens of thousands through his fighting alone (as he can't really be blamed for the gravity pulse thing), instead of dragging him into space or even just into the ocean which is literally right next to them. And, of course, he kills Zod.
Now, before someone says, "But he killed Zod in the comics!" let me start by saying that, while my preferred form of Superman doesn't kill, I understand that there have been times in the comics when he has; however, his killing of Zod is almost universally panned and forgotten about by most writers that have ever worked on the character, and was in an entirely different context than this. In the comics, he killed Zod because he was literally the last person on earth who could pass judgment on him. It all happened in a pocket dimension, and the whole thing was A) really weird and B) came from a time early in the first reboot of the DC universe where everyone was still trying to get a hold on what did and didn't work with the characters that they were now writing. And, yes, he did kill Doomsday (although he got better), but only because it was literally the only way he could find to stop him; he killed Doomsday with his last breath. And, of course, Death of Superman was a pretty awful, badly written story in its own right.
And I'm sure some will say "but Superman had no choice but to kill Zod!" Well, ignoring the fact that I could see half a dozen easy ways out of that particular situation without killing him, there's another, more important issue: Superman's just a character in a story. There was no reason to write him into that position in the first place. I understand that it tied into the whole "sacrifice" motif they were going for, but there were a number of better ways to deal with it from a story standpoint. There are any number of major sacrifices that he could have made that ended up with him still being the last of his kind without him killing Zod. And they could have still had Zod die at the end, even without Superman doing it; hell, they could have had him trying to save Zod and made the sacrifice even more poignant. But they went with the cheap and easy route.
This, of course, glosses over all of the logical problems with the movie, from the idea that the military isn't going to know exactly who Clark Kent is after the aliens visit his farm, to Clark somehow getting a reporter job with no credentials or experience at 33, to... well, there's tons of them. But they aren't that important. I could have ignored them. But ignoring all of the ways that Superman was badly characterized is just too much. I went into the movie hopeful, started out enjoying it, left thinking it was mediocre, and was downright angry about how bad it was by dinner. And that's a shame; there's all the components of a good superhero movie there. There's just none of the heart of Superman in it.