if you write 0 to the whole HD ... what can NSA do to recover data?
You're thinking very digitally, but data in fact is still stored analogly on the drive. As a head writes data to a drive it writes it in a threshold space. This space is a very small amount of the platter and can vary an even smaller distance left or right. Each time you write data, its in a slightly different spot, even in the same bit on the drive. Its in these small offsets that you can still retrieve data later on. This is why overwriting a number of times writes to more and more of these little offsets and renders the data useless.