cpio versus cp

I am copying a file system to another one. someone suggest me use

find . -print |cpio -pdmv

but I think cp -r should do the same thing. Am I right?

In addition, by using " find . ", I got all the file names,, why do I have to use the -print option?

Thanks a lot!

It may treat links differently?

historical/portability reasons.