In this fourth episode of NES Programming Michael Chiaramonte explains the difference between NMI and V-BLANK.

NES programming #4 - Changing the flyby entity and collision detection