During work, our app can write temporary data one time to each block on the disk, or it can repeat write several times to the same block. After that (anyway) all temporary data will be deleted to free up disk space. So, why we have an option to overwrite data several times, if anyway it will be deleted?
Many disks equipped with built-in micro chip that controls read-write operations using internal caching system. This hardware located inside the disk itself, it is not related to your motherboard, processor or operating system and acts independent.
In some rare cases some chips can cache current write operation and if another one coming right after it - deletion - they can ignore first write, since it will be anyway deleted. And if chip's logic set as described - data will not be really written, but only reported as written.
Could be other scenarios, it's just a sample, but issue is the same - data would not be actually written before deletion.
Logic of disk's micro chip changes from manufacturer to manufacturer, and it is hard to predict or to know how disk's caching software really writes the data. Good news, that this issue happened very rarely, and with small parts of data.
To prevent such issues all security agencies recommend to overwrite data several times. Usual recommendation is from 3 to 7. For paranoid cases up to 40.
In our own tests even 1 cycle was always enough. We never faced this issue since 2008.