Right. They're the same except for the fact that a variable or index can be non-existent before it can be set to NULL. Those are two different states. They both test out the same conditionally in PHP, but the differences in those two states is undeniable. In one case you have a variable or index that hasn't entered your scripts execution, on the other hand you have a variable or index that has been executed, but has been given or deemed to be a NULL value.
So if you rely on a script that may or may not set a variable or array index (which would indicate whether or not that variable or index was in fact processed by that script), then testing for the difference between never set and set but NULL could be valuable. In my situation, it is a valuable bit of knowledge.
I think this distinction is more important and probably more relevant for array indices, but I threw in the variable condition just to be thorough (even though you end up testing the existence of variables in the same exact manner as the array indices).