Убивать и ставить к стенке тоже не за что.
Возможно, люди просто слишком привыкли смотреть на мир через призму MySQL.
Точно не знаю, как сейчас это работает, но в прошлом много раз читал, что Nullable колонки добавляют лишний overhead на хранение данных.
Зато, например, в том же PG картина совершенно обратная. Все поля со значением null физически хранятся в виде компактной битовой маски. Это позволяет очень быстро фильтровать по условию IS NULL, IS NOT NULL.
Также, например, можно сделать моментальный ALTER TABLE .. ADD COLUMN, если новая колонка по умолчанию Null и влазит в размер старой маски. В этом случае достаточно поменять мета-информацию и всё.
Потом, уникальные индексы. Они позволяют записывать сколько угодно рядов с Null, но только один ряд с другими значениями.
Периодически пользуюсь этой особенностью и никакого криминала не вижу. Это базовые SQL-концепции, и много других вещей отлично живут on top of it.