In very loose terms, to emphasize where the complication lies:
The bits on the drive are interpreted as binary, "1" and "0" if you like, but in reality it is a continuous variable that is measured. One could figuratively say that every bit really can take any value between 0 and 1, and the drive interprets all values >0.7 as 1, and all values <0.3 as 0.
Let's say a bit is at charge 0.9. You then overwrite it with a 0, which effectively lowers the charge. The final charge will be maybe 0.25, but if the bit originally had been a zero at charge 0.2, maybe it would end up as 0.15. Thus, by using equipment possible to read the charges at high precision, in theory one could recreate data that has been overwritten by all zeroes by using a normalization where charge<0.2 is a zero and charge>0.2 is a one.
If one instead overwrites the data with random numbers, it is instantly much harder for this recreation. That's why it is preferred for very sensitive data.
In reality algorithms are much more clever, depending on how good the resolution of the equipment used to analyze the magnetization of the disk is. There is a reason why the data recovery companies charge silly money :-)