Another way to think about it is that Empty generally happens by default - it is implicit, because a variable is Empty until you place something in it. Null, on the other hand, is explicit - a variable can only be Null, if some code made it that way.
First
Next