Small, cheap, easy to use and they can take much more of a beating than a harddrive. Their small size is their worst enemy: Forget it in your pocket when washing, sit on it, drop it into the toilet or just plain loose it. Simple stuff no technology can solve.
These small miracles are not everlasting. All flash circuits have a limited number of times you can write to them. The cheap ones the count is 100.000 times, the expensive ones it is 1.000.000 or a bit more. You might not use a flash drive so many times, but if you use it as a working drive, and a program saves changes to it a lot of times, it might eventually kill the drive.