Look, this isn't an awful film. But it isn't a particularly good one, either. Spoilers ahead.
On Krypton, scientist Jor-El stands before the ruling council demanding that they allow him to rescue the Kryptonians' collective genetic code from the cataclysm about to destroy their planet. They don't listen. Suddenly, general Zod enters the chamber, accompanied by soldiers, announcing that he's taking over government to save Krypton from these ineffective talkers. Jor-El escapes, stealing the code and bringing it to his home in order to send it, with his newborn son Kal-El, into space, to Earth.
Then the film starts going downhill, unfortunately.
Jor-El's wife Lara doesn't want to send her son away, because what if he dies out there in space? That he's about to die on Krypton when it explodes doesn't seem to matter to her. Then, when she finally agrees to let Jor-El send the boy off – and keep in mind that Zod and his soldiers are on their way to take the Kryptonian genetic codes back, so time's a-wasting – she refuses to let him go, holding on to him as long as possible. Zod then arrives with his soldiers, who seem happy to let their leader walk into an enemy's lair in front of them, apparently unarmed. In fact, most of them stay outside and just two of them walk 5-10 meters behind him, carrying guns that they apparently don't know how to use because Jor-El can grab a gun and shoot them both before they can pull the triggers of their weapons.
Jor-El, the scientist, proceeds to beat the crap out of the soldier Zod, send his son and the Kryptonians' genetic code away into space, and get killed by Zod because nobody in this movie seems to care one bit about actually disarming and tying up violent enemies. Zod walks out to his waiting soldiers, who haven't done anything useful like shooting down the ship leaving their enemy's lair. Kryptonian armed forces thus arrive to capture them before they can stop the ship, and they get sentenced to the Phantom Zone for their crimes. After that, Krypton eventually explodes, killing Lara and everybody else on the planet.
So, what do we have so far? Standard Hollywood writing, where everything is about striding about and making pompous declarations and watching some marvelous imagery from the CGI people. There is nothing much to suggest imminent threat in the scenes, no need for anybody to rush anything because they'll always have time to do whatever is necessary to reach the various plot points outlined in John Truby's The Anatomy of Story: 22 Steps to Becoming a Master Storyteller or Blake Snyder's Save The Cat! The Last Book on Screenwriting You'll Ever Need, two books that have done their fair share to ruin Hollywood films in general by insisting on stereotypical structuring of movie scripts. Instead, we get sentimental moments with Lara, put in there for no other reason than to hit the audience over the head with "it's tough for a mother to be separated from her child forever", as if the actress couldn't have shown that through actual acting. We also get Zod showing himself as evil, through his treasonous behavior and cowardly back-stabbing – again, entirely in line with the recipe from Truby, Snyder et al – and we don't confuse the audience with something that might take their attention away from this stuff, like people actually behaving and speaking somewhat realistically, or the top military man of Krypton acting like he knows anything about war and fighting at all.
Anyway, over to Kal-El's – or Clark Kent, the name given to him by his adoptive parents Jonathan and Martha Kent – life on Earth. He does good without revealing himself and his powers to humanity, moving from job to job as something happens that makes him have to show his powers. You know, just like David Banner. Turns out, a) the US military has found a spaceship in the Canadian Arctic, b) the US military absolutely sucks at background checks, so Clark can sneak in and work as a handyman on the site. There, he discovers his Kryptonian heritage, Lois Lane discovers him, and his actions lead to Zod and his gang also discovering him, and coming over to join the party, take the Kryptonian genetic code and basically destroy the Earth and mankind to recreate Krypton and the Kryptonian race. Fierce fighting of various kinds ensues.
Henry Cavill actually isn't bad in the role as Superman, but the scripting doesn't give him the backing he should have. For example, Clark and Jonathan Kent fear that if humanity learns about Clark's powers, they'll fear and shun him, a theme that doesn't really work with the Superman mythos, which is really true-blue, mom and apple pie, honest Midwest, etc. The "humans will fear and hate him" theme really belongs with the X-Men, not a Superman movie – unless you do it a whole lot better, like for example not having Clark let his father die a meaningless death in a tornado, because obviously an old man is better equipped to run back in a storm to the family's car to save the dog trapped in it than the young, athletic son who also happens to have superpowers. You sit there watching, saying to yourself, or your friend next to you, "what are they, stupid?".
No, they're just victims of lazy scriptwriting. You want to kill off Jonathan Kent, fine – but do it in a manner that doesn't insult the characters' intelligences (or the audience's).
Final insult: gratuitously inserting Jor-El back into the story as a computer-stored consciousness, just because it's easier to have him drone on with exposition and repeating the basic conflict between him and Zod just in case the audience is too stupid to remember it, even after it was hammered into them at the start of the movie. What is it with moviemakers wanting to put Jor-El back into Clark's life? Come up with a way show the audience what they need to learn without using this exposition crutch, instead.
From there on, the movie is basically lots of super-powered fights between super-strong and nigh-invulnerable people punching each other with little other effect than making the other guy fly some 50-100 meters away and smashing through a lot of housing on the way, plus a standard (see, for example, Batman Begins) "a huuuuge disaster is looming, will the hero be able to stop it (yes of course he will, and everybody knows it)" finale.
What's good about the movie, then? Well, there is some decent acting in it, with Kevin Costner doing the best job as Jonathan Kent; Costner's so good in the role that it's just a damn shame that they kill him off so early, and in such a flimsy manner. Laurence Fishburne is his usual competent self as Perry White even though he doesn't have much of a script to work with, and Russel Crowe is similarly albeit more stereotypically competent as Jor-El. The women in the movie, Lois Lane included, are to a too-great extent sideline-watchers or in need of rescuing. How I miss Margot Kidder, who almost managed to carry the first two Superman movies of the seventies into "good movie" instead of "watchable" territory. (Oh, Reeves was good in the title role, but Kidder put whatever spark there was in those movies – much like Teri Hatcher did with Lois & Clark.) And like I said, I think Cavill does a decent job, but like the others, he doesn't have much of a script to work with; I wonder if Crowe doesn't, in fact, get to do the most acting in the movie.
Also, the movie looks great; art direction, design and CGI is top-notch. But the actual superheroics are too sparse (and too angst-laden) at first, and are a bit too stacked on top of each other with too little cleverness about it in the second half.
So this is a watchable film, but not a necessary one – unless, of course, you love superheroes. If you do, you're pretty much obliged to see it, and to wish that the producers and writers had done a better job with it.
(Post scriptum: I checked to see who'd actually written it, and to not my surprise, it turned out to be David S. Goyer, who also helped write Christopher Nolan's not-very-well-done Batman trilogy. I'll save my gripes about that for a later post, though.)