They are pretty good. I prefer 'wipe'.
With journaled filesystems I recommend cleaning all free space once in a while. So make a large file full of zeroes or random data so that it occupies all free space, and then delete it immediately. Something like:
dd if=/dev/zero bs=4M of=file; rm -f file
As for multiple passes, it is for the very paranoid. It has never been proven that you can recover any meaningful data even after a pass of zeroes.