Whitespace in paths occur, similar to how buffer overflows occur. It's the job of the programmer to understand this and guard against it; but many don't. And all you need is one bash script that does something like this
rm -rf $path
to go from working one day to having deleted an entire directory tree just because someone named their file
"foo ."