File(s) integrity checking CRC32 VS Md5 VS SHA1

Hello, I wonder what is the difference between checksums (File integrity checking - wise) ? Most popular today seems to be CRC32 (rather old, from what I understand), MD5 and SHA1.

What are pros and cons of those 3? Is one better then the other two?

Also, what program do you use if you want to make sure that, for example, folder(s) you copied to USB drive didn’t corrupt while copying? I know ExactFile (produces checksum file that can be used to check integrity after copying) and TeraCopy (alternate copying engine, has an option to varify files after copying, can replace windows default copier, uses CRC32 to verify.)