Попытаюсь рассказать об этих окончаниях простейшим языком, без применения терминов.
<hr />
Нет окончания - это когда оно отсутствует и быть его не может. Поэтому при разборе по составу не может быть и никаких пустых квадратиков.
Нулевое окончание - это потенциальная флексия (окончание). То есть, сейчас его нет, но оно может появиться.
<hr />
Как понять "появиться?". Откуда вдруг?
Дело в том, все слова в русском языке делятся на изменяемые (Например, слово "окончание") и неизменяемые (например, слово "через").
Попробуем изменить первое слово - "окончаниями", "окончаний", "окончанию". У него много форм. Слово одно, а форм много. По сути дела, сколько форм, столько и окончаний (в абсолютном смысле чуть меньше, конечно). Именно за счёт окончаний это слово и изменяется. Всё равно что кошка хвост трубой сделает или подожмёт. Кошка одна и та же, а формы хвостов - разные. :)
Если в какой-то форме изменяемого слова нет окончания (например, "дом"), то наша образная кошка так поджала хвост, что его и не видно. Но он есть. Это нулевое окончание. Оно появится при изменении формы: "домом", "дома" и так далее.
<hr />
А в неизменяемых словах окончание не может появиться, ни за что и никогда. Попробуйте создать окончание в слове "НАТО". Мы не можем сказать НАТОЙ или НАТАМИ. Значит, нет в НАТО никакого нулевого окончания.