For the null/not I think it's about personal style and symantics. They both do the exact same thing: test if something evaluates to nil. Usually I'd use null to test if a variable contains nil, and not to test if an expression evaluates to nil, just because it "seems" more logical that way (to me). But both would work fine interchangeably.
As for =, eq, and equal. There is some differences which you need to be aware of. = and eq are "nearly" the same thing, though eq tends to make string comparisons less error-prone. Equal is much more involved, it can even compare to a fuzz factor.