Em termos muito vagos, para enfatizar onde está a complicação:
Os bits na unidade são interpretados como binário, "1" e "0" se você quiser, mas na realidade é uma variável contínua que é medida. Pode-se dizer que cada bit realmente pode ter qualquer valor entre 0 e 1, e o drive interpreta todos os valores > 0,7 como 1 e todos os valores < 0,3 como 0.
Digamos que um pouco esteja sob carga 0,9. Você então sobrescreve com um 0, o que reduz efetivamente a carga. A carga final será talvez 0,25, mas se o bit originalmente tivesse sido zero na carga 0,2, talvez terminasse em 0,15. Assim, usando o equipamento possível para ler as cargas com alta precisão, em teoria pode-se recriar dados que foram substituídos por todos os zeros usando uma normalização onde carga < 0.2 é um zero e carga > 0.2 é um.
Se um substitui os dados por números aleatórios, é instantaneamente muito mais difícil para essa recriação. É por isso que é preferível para dados muito sensíveis.
Na realidade, os algoritmos são muito mais inteligentes, dependendo de quão boa é a resolução do equipamento usado para analisar a magnetização do disco. Há uma razão pela qual as empresas de recuperação de dados cobram dinheiro bobo: -)