What is NULL Value?
A NULL is a database marker meaning a value is missing or unknown; it is not the same as zero or an empty string.
NULL Value explained
Any comparison with NULL is neither true nor false but unknown, which is why WHERE column = NULL finds nothing and IS NULL is needed. Most aggregates skip nulls, so averages cover only the rows that have a value.
Treating a missing value as zero is sometimes right and sometimes badly wrong; a missing discount probably means no discount, a missing temperature does not mean zero degrees.
Example
An order with no shipped_at date has NULL there; counting shipped orders with COUNT(shipped_at) skips it.