Your understanding seems to be right on.  Your co-worker just swung by your desk and has all the latest pics of the christmas party starring your drunk boss loaded onto his thumbdrive.  Your co-worker and you do not think twice about how this thumbdrive works, to you its a black box but you know it works because of the USB interface.
It doesn't matter whether it's a SanDisk or a Titanium (not even sure that is a brand), size / color don't matter either.  In fact, the only thing that matters is that it is not broken (readable) and that it plugs into USB.
Your USB thumbdrive abides by a contract, it is essentially an interface.  One can assume it fulfills some very basic duties:
- Plugs into USB
- Abides by the contract method CopyDataTo: - public Interface IUSB {
 void CopyDataTo(string somePath);  //used to copy data from the thumbnail drive to...
} 
- Abides by the contract method CopyDataFrom: - public Interface IUSB {
void CopyDataFrom(); //used to copy data from your PC to the thumbnail drive
} 
Ok maybe not those methods but the IUSB interface is just a contract that the thumbnail drive vendors have to abide by to ensure functionality across various platforms / vendors.  So SanDisk makes their thumbdrive by the interface:
public class SanDiskUSB : IUSB
 {
  //todo: define methods of the interface here
 }
Ari, I think you already have a solid understanding (from what it sounds like) about how interfaces work.