Definitely better than the previous reboot. Largely because the villain is a true foe unlike Lex, whose only weapon is the good old green element unless he is creating Nuclear Man or something. It also creates more tension and eye-catching action. In terms of Superman himself, there is still the problem of him being so strong that even being near defeat doesn't seem to be close in this. The older Superman films did this better.
In terms of the characters, no one can top Reeve, but Cavill does a good job as the protagonist. To my surprise, the main adversary General Zod isn't as fearsome as the 'Superman II' version who is a brilliant villain. Apart from the odd quip, Amy Adams doesn't quite feel like the Lois Lane we all know based on how she has been portrayed in numerous mediums in the past either but fits the role fairly well.
I was glad they didn't go too heavy on Clark's origins, where it is instead weaved into the story through memories as an adult Superman. Overall, it doesn't add much to what we have seen before, especially when you consider the movie with the same villain from 30 odd years ago is a more engrossing film. For 150 minutes though it didn't feel long and moves along at a good pace. When you think that Superman has been around for about 80 years and has fought countless enemies, it does surprise me that from the six feature films we have seen from Superman, we have had Zod twice, and Lex 4 times + Nuclear Man. Give us something new! Films don't have an expiration date! 3.5-3.