You first have to understand Nulls. It is a common mistake to view Null as having a value of nothing. Therefore, you think that if one record has a null in its indexed fields, it will only duplicate another record having a null in the same field. This isn’t the case. Rather than thinking of Null as nothing, think of it as “could be anything”. Therefore, 2 records containing identical data and having a null in the same index field will still be accepted.
Here’s something else to consider. How would you evalutate the equation Null=Null? Is this True or False? Try it in debug and see what you get.