Well, I don't know much about Cruzer specifically, but I can answer your first question!
Imagine your hard drive like the computer sees it, not as a round disk, but rather a straight line of locations it can save stuff to. The computer numbers these locations from zero all the way up to however large your drive is.
Keep in mind that this isn't EXACTLY how a modern operating system actually does stuff, but it gives you the idea.
Say you save a file on your drive that takes up some space, then later you save something else. That second file you saved gets put right after the first one, so on the disk, the files are right next to each other. This process can continue so that your disk gets filled up, with no empty space "between" files.
But now suppose you delete a file. There is now a "hole" where the file used to be. The next time you save a file, the operating system will try to fill that hole if it big enough. But what are the chances that the new file is exactly the right size to perfectly fill the hole? Not very good. Realistically what happens is that you wind up with a small "sliver" of unused memory that is too small to fit anything in. It may not be very big, but this principle can continue until your disk has a lot of "free" space, but not all together. It's scattered and unusable. The small unusable area between files is referred to as "external fragmentation".
So defragmenting is the process of picking up all of your files, and lining them back up again so that there are no spaces between.