Para explicar a um chefe a diferença entre "zero" e "nulo":
"Zero" é um valor. É a quantidade única e conhecida de zero, que é significativa na aritmética e em outras matemáticas.
"Nulo" é um não-valor. É um "espaço reservado" para um valor de dados que não é conhecido ou não especificado. É apenas significativo neste contexto; operações matemáticas não podem ser executadas em nulos (o resultado de qualquer operação é indefinido e, portanto, também geralmente representado como nulo).
Por exemplo, como nos comentários: "Qual é a sua renda anual?" é uma questão que requer uma resposta numérica. "0" é uma resposta perfeitamente válida para alguém que não trabalha e não tem receita de investimento. Se o usuário não inserir um valor, ele não necessariamente não ganhará dinheiro; eles simplesmente não queriam dizer ao seu software quanto (ou pouco) eles fazem. É um desconhecido, não especificado; portanto, para permitir que o software continue, você especifica o espaço reservado "nulo" para esse campo de dados no software. Isso é tecnicamente válido de uma perspectiva de dados; se é válido no nível do negócio depende se um valor numérico real (mesmo zero) é necessário para executar uma operação matemática (como o cálculo de impostos ou a comparação com os limites que determinam os benefícios).
Em computadores, virtualmente qualquer operação em uma variável contendo nulo resultará em nulo ou em uma condição de erro, porque como um dos valores da variável não é conhecido, o resultado da expressão não pode ser conhecido. O equivalente a fazer a matemática em null seria se eu perguntasse "Qual é o número cinco mais o número que estou pensando agora?". É impossível dar uma resposta definitiva porque você não sabe o número em que estou pensando. Uma operação no zero, exceto pela divisão por ela, geralmente é válida e retornará outro valor conhecido e exclusivo.