Sul perchè debba utilizzare is null per fare il confronto prova a eseguire questa query

codice:
select tabA.*,tabb.*,tabB.nome + ' ' + tabB.cognome
from tabA
left join tabB
on tabA.nome + ' ' + tabA.cognome = tabB.nome + ' ' + tabB.cognome
e lo capirai da te.
Leggi magari un pò di documentazione sulla sintassi dei join.