OK, seeing the GOTD was a data wiping app, I was curious on what the latest thinking was, so I spent a couple of hours using Google -- I found that not much has changed [regarding securely erasing data] in the last few years. One thing that's commonly agreed upon is that if you want to be sure no one can ever recover your data, destroy the storage device or media. The 2nd thing everyone seems to agree with, is that if you encrypt your data to begin with, if anything is later read or recovered from a storage device [or media] it's meaningless. And 3rd, flash memory storage devices are more difficult to clear or wipe, & in fact with some devices it may not be possible to do it completely. For most everything else there was some debate...
A regular, standard hard drive uses spinning discs called platters with a surface that can be magnetized - read/write heads float barely above this spinning surface, reading & writing data that's stored in magnetized tracks [think records & record players/turntables]... it's basically the same idea as magnetic tape storage, e.g. cassette tapes, VHS tapes for VCRs etc., only the data's stored as ones & zeros rather than analog. Because the heads float, they *might* wobble a bit so that over-writing the same track the new data *might* be a bit to one side or the other. The idea behind erasing or wiping software is that by making multiple over-writing passes the heads might wobble enough in both directions that there's nothing left in between the tracks that can later be read. There's some debate over whether or not it's possible to read any sort of between-track data on modern hard drives, because they store data much more densely than they used to years ago, but OTOH the tools available to read that data [if it exists] are better too. There is general agreement that any capability to recover data this way would be highly specialized & thus expensive -- IOW it's not likely something a friend or relative is going to do with that old hard drive you gave them... as long as you run one or a few erase or wiping passes, so lost file recovery apps won't do them any good, you're probably safe.
When it comes to securely getting rid of data the 2 problems with flash memory are one, the chips are almost indestructible, & two, the devices can store data all sorts of ways. There's a lot of agreement that the best way to handle sensitive data stored on flash memory is to never store anything sensitive unencrypted -- it's common to consider any flash memory device tainted if it has ever stored any sensitive data that was unencrypted. There's also a lot of agreement that while securely erasing a flash memory device may work, securely erasing a single file often will not. Because there are no moving parts there's no need to run multiple passes to eliminate leftover data between tracks, but some reports say that running more than one pass can eliminate more leftover data.
The main problem is that flash memory devices move data around, store it in different places to try and balance the load, so parts of the flash memory don't wear out prematurely from overuse. Flash memory devices, particularly SSDs, may also automatically remap storage, replacing small damaged sections of memory with spares -- some regular hard drives do this sort of replacement too. So when you overwrite the total storage with erasing or wiping software, you may not get everything because the hardware won't let you actually address all of the available storage area. As a solution SSDs have their own built-in erase or wipe function, but it can be difficult to use it, & in testing not every brand/model of SSD performed the operation properly. An interesting side note, zeroing out a SSD this way **may** restore performance *according to some reports*.
I haven't been able to find a lot of good info on anything USB, I *suspect* because the hardware interfaces vary so widely at both ends, including the PC/laptop as well as any device it can connect to via USB. When you overwrite the average USB stick does that erase every trace of data? I didn't find a reliable source that said yes or no, I *suspect* because there's no way of knowing whether you actually access all the available places data can be stored. It's common for things like USB sticks to use faster memory chips as a cache of sorts to boost performance reading/writing small amounts of data -- will it allow a data wiping app to access that faster memory? Some USB sticks also use [undocumented] data compression, so are there areas of storage associated with that which can't be accessed? I did read several opinions that said from day one, when you 1st get a USB stick or SD card or whatever, don't store anything sensitive on it unless it's encrypted, & FWIW that's what I do.
http://en.wikipedia.org/wiki/Data_remanence
http://www.theregister.co.uk/2011/02/21/flash_drive_erasing_peril/
https://www.usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf
http://www.corsair.com/applicationnote/secure-erase
http://howto.cnet.com/8301-11310_39-20115106-285/how-to-securely-erase-an-ssd-drive/
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
https://windowssecrets.com/top-story/rethinking-the-process-of-hard-drive-sanitizing/
https://www.anti-forensics.com/disk-wiping-one-pass-is-enough-part-2-this-time-with-screenshots/