Зачем нужен Null в MySQL?
Для числового поля разница в том, что 0 может быть результатом арифметической операции, в то время как NULL говорит о том, что значение просто не было указано. 
Аналогично - для пустой строки и других типов данных.
NULL как свойство поля читается как NULLABLE - т.е. значение для данного столбца необязательно для указания.
Дополню еще 1 вопросом а чем отличается от None?