The quick answer is that an HDD, or a modern SSD that supports SED, will be the easiest to remove data from. USB flash drives and SD cards are very difficult to remove data from. Note that product recommendations are off-topic here, so I can't (and don't wish to) look into the detailed capabilities of each piece of software you mentioned. You should find software which is capable of solving the task, armed with the information I am going to describe to you below.
HDD
There are two ways to wipe an HDD. First, you can overwrite the entire drive with random data or a fixed pattern. You should make sure you have disabled the HPA, as otherwise unallocated data may lie untouched in that area. This technique also has the downside that damaged sectors that are marked as bad but not completely unusable will not be wiped. You would need to manually mark all damaged sectors as good (which can cause problems) in order for this to be completely reliable.
The other technique is to use ATA Secure Erase. On most drives, this will cause the firmware of the drive to overwrite all data, including damaged sectors. Newer drives may transparently encrypt all data (SED), and secure deletion will involve nothing more than wiping the encryption key. Sadly there is no way to guarantee that a particular drive has implemented this properly.
SSD
Solid state drives are a bit different. Due to wear leveling, writing to a particular logical sector will not necessarily map to the physical sector of the same number. This makes deleting individual regions of the drive unreliable. However, these drives also have overprovisioning, which means that a good chunk of flash blocks are kept to the side for use if the drive becomes full. This way, even if your drive is showing 99% full, there is still plenty of free but unused blocks available for the wear leveling algorithm to use. Unfortunately, this overprovisioning space is not located at a fixed address, and a block that holds sensitive information one day may become a block in the overprovisioning space the next. As this area of the SSD cannot be read or written to, it is impossible to overwrite an entire SSD just by filling it up. You thus need to use another technique.
SSDs, like HDDs, typically support ATA Secure Erase. When this is supported, the drive firmware will be able to clear all data on the drive. Most modern SSDs, like some modern HDDs, use SED to speed up deletion. When this is supported, secure erasure can take a fraction of a second.
Another technique is to use TRIM, a command that allows the host to inform an SSD that a given sector or range of sectors are no longer needed. Issuing the TRIM command for any number of blocks will put them in the queue for the garbage collector. A properly-designed SSD will shortly thereafter securely erase the blocks that have been marked for destruction. While this feature is normally used to allow the drive to know what information is no longer needed (an SSD has no concept of a "deleted" file), it is completely possible to use TRIM on the entire drive.
USB and SD
A USB flash drive contains one or more flash memory chips, and a microcontroller. Like SSDs, they support wear leveling (albeit a more primitive type called dynamic wear leveling) and usually have some overprovisioning space. Unlike SSDs, they do not often conform to the ATA command set and thus do not support ATA Secure Erase or TRIM. Wiping data from these storage media is much more difficult. If the information on it is highly sensitive, then physical destruction is a must.