One criticism I had before was about the rather abrupt way Superman was introduced to the world, but watching the movie again I have to say that no longer bothers me.
In fact I actually really like
the way he's introduced now, as just another mysterious Kryptonian that the military and world aren't really sure about, and it's only through this giant battle in Smallville-- where he's saving soldiers left and right and clearly struggling to put up the best fight he can against Zod's men-- that they slowly come to realize he's on our side.
There's something a bit more moving about that idea, than if he had just revealed himself through the standard way of rescuing a falling girl or a crashing plane or something.
And oh yeah, by the time he got to Metropolis the other world builder had already pretty much done almost all of the damage to the city already. It would have been much greater had he not stopped the aforementioned world builder on the other side of the planet.
Yeah that's another aspect of the story that gets criticized, but it only made sense for Superman to focus on taking out the other machine first, because it wasn't being guarded by Zod and his men and he wouldn't have to spend all his time just trying to get past them
And the faster he took out the machine, the sooner it would stop destroying Metropolis.