Revealing mistake: In the first scene when the villains are at the console, you can see Ursa's nose disappear, then reappear when Non walks behind her, then it disappears again. (01:44:30)
Revealing mistake: There are two times in the New York battle when you can see the actors are being filmed in front of a screen: 1. when Superman kicks Non, Superman in on film and Non is hovering in front of the screen. 2. When Ursa is flying towards Non and Superman with the flagpole, she is hovering in front of the screen.
Revealing mistake: When Non and Zod break in through the White House window, a black strap is seen attached to each one's body to help them descend safely.
Revealing mistake: When Zod throws a man against the wall in East Houston, the man goes through the wall into a truck. Before he crashes against the truck, wires holding him are visible.
Revealing mistake: During the Metropolis battle, after Non and Super go down through the pavement, Non is launched upwards thorough the concrete. Check the people around, specially the cop on the right. They are blatant toys (note the cop's weird arms), revealing it is all a miniature set.
Revealing mistake: When Non punches Superman and he crashes against a metal wall, there's a brief shot where Chris Reeve's stunt double is very noticeable.
Revealing mistake: Before the villains change the faces on Mt. Rushmore, the original ones (which are a matte painting) have a greenish look. Definitely not like the real sculptures.
Revealing mistake: At the beginning of the movie, we see the three villains in front of several backgrounds. In most of these backgrounds, their outlines are fuzzy, indicating that they are actually standing in front of a green screen.
Revealing mistake: When Zod and Ursa jump out of Perry's window they fall down, revealing its a stunt from a ground level window. The outside shots however, show them flying up and straight.
Answer: Superman was be able to kiss Lois in such a way that the heightened emotion wiped out her memory of his identity. To answer your second question, even though Lois promised not to tell anyone, Superman decided he does not want even her to know his secret identity.
Matty Blast