Насколько я понимаю, в dealloc нет необходимости. Однако при освобождении объекта в любом другом методе указатель все равно остается, но объект, на который он указывает, больше не будет существовать, вызывая сбой при отправке ему сообщения.
Установив указатель на nil, вы уверены, что любое отправленное ему сообщение будет просто проигнорировано, вместо того, чтобы вывести из строя ваше приложение (или вызвать странное поведение).