The first three were scored as correct, the last one as incorrect. Rather than offer some of the various comments here, I will leave it to players to post their opinions (please do read the answer text before you do so). I will simply say this:
1. The correct choices were taken directly from the Oracle documentation.
2. I did not ask you to decide which choice was a good reason or a best practice regarding the NULL statement, simply a reason to use it.
3. You might not like GOTOs, you might think that a GOTO is a really bad idea and should never be used. But the fact is that it is a part of the PL/SQL language - and the PL/SQL development team doesn't implement constructs without a reason or legitimate use. You can say the same for the NULL statement.
So I do not plan to change the scoring on this quiz, but please do post your comments and we will go from there.
Finally, for those of you who vow to never to use a GOTO and claim to believe that there is never any reason to do so, please check out this analysis from Steve McConnell and Code Complete.