Hi Staven,
I'm sure there's heaps of reasons, but i was coming from the perspective of looking at rootkits, etc... and they hide their process names - make it look like it's an innocent window manager process or something like that is running. I know it doesn't ultimate disguise the process but it can throw people off on a visual inspection via ps... it's just another layer.
The reason perl mentioned in some perl documentation is that you can send other processes outside it an update on which stage your process is at (just via the system process table).
cheers,
simran.
ps: Dave, Micky, thanks for your responses... good info in both of them and i'm digging further as a result :)