Nothing can check if a spell has been cast/is active on a target. All Null, or Nil, or Bob or Cake does in a cast sequence is lock up the sequence so it cannot advance and reset back to the beginning until the reset conditional has been reached.

A normal cast sequence such as /casesequence Shadow Bolt, Shadow Bolt, Incinerate will progress as it is written, 1st press casts SB, second press casts SB, 3rd press casts Incinerate. At the 4th press the sequence goes back to the beginning because there are no more spells to process.

A Nulled cast sequence such as /castsequence Hunter's Mark, Null will lock up because it can't cast a spell that doesn't exist or that you don't have. So this will cast Hunter's Mark only once and keep erroring out on "Null". It can't go back to the start because as far as the macro is concerned, the cast sequence is not complete.

With reset= you determine the conditions on when the macro should ignore everything else in the sequence and start fresh from the beginning, be it when you acquire a new target, press a certain modifier, enter or leave combat or when you stop calling the macro after so many seconds. A nulled castsequence with no reset specified will remain locked up pretty much forever. I know logouts will reset them, maybe zoning and death will reset them, but you want a reset defined in a nulled sequence.