The new context of Krypton was rather good, the General Zod is totally different from the canon comics or the previous movie, he is actually better, he is no longer a one dimensional vilain. Jor-El has a way bigger impact in the story than before, which was not so bad. I'm a bit disappointed by Kevin Costner's role as a father, besides they changed this character in a strange way.
He was supposed to be a block of morality, now he says "maybe" when Clark asked if he should have let the children die to hide his powers.
This Superman is not dark, he is simply more serious (as it was supposed to be), people who were expecting to see a remake of the first Superman's movies simply don't know their topic or they were stuck to a past Superman interpretation.
Unlike some people here, the fight scenes are not a problem...at all IMO. It is Superman, dudes ! When a Superman fights another Kryptonian you can expect a shitload of destruction, a DBZ fight. It's nice to FINALLY see this kind of fight from him in a movie. However I understand that, for a movie which was supposed to introduce Superman as a character, people might find there is simply too much action, non stop action.
The fact that we didn't get to see Clark Kent as a reporter etc is not really a problem in itself since the movie was about his mutation into Superman after all. However, how his secret identity has been managed through the movie makes the end of the movie not really believable. There is another issue, it's the continuity of the licence after such movie. The lack of Forteress with all the knowledge of Kripton made a big blow to that. DC is planning to make a 2nd movie and a Justice League movie, it just doesn't fit with the current movie. You can see that Man Of Steel originally has not been created with crossover in mind.
The plot itself has it share of holes. There are many things which has been poorly explained or not at all.
Even the whole terraformation project of the Kryptonians on Earth makes no sense. Or their decision to leave their colonies in the past is not very understandable. etc