If the path is /foo/bar/bob.c, -p0 looks for /foo/bar/bob.c (strips 0 /s), if you don't to a -p0, it simply looks for bob.c, in the folder you run it in.
Basically, it assumed "find it here" rather than "use the whole path." Really they could've gone either way with it, and this is the way least likely to cause accidental damage to files elsewhere.