En este post se enumeran unas cuantas técnicas anti-debugging que se suelen utilizar para evitar que los programas sean trazados. "..El mundo del anti-debugging es apasionante: la eterna lucha entre el cazador y la huidiza presa, que gira en espiral hasta no poder distinguir si es el depurador quién ha sido cazado y engañado por el programa, o si finalmente quien traza el programa es capaz de seguir su ejecución paso a paso..."
Para evitar análisis forense de una máquina hackeada...
es.tldp.org/Presentaciones/200211hispalinux/odisho/analisisforense.htm4
En cuanto a para qué sirve esto, pues para hacer el mal, como comenta #4, o para proteger software privativo para GNU/Linux, que lo hay y mucho. ¿Yo quiero eso? No, pero conocer estas técnicas me puede ayudar a trazar programas que las usen. He visto a unos cuantos consultores intentar un objdump o un strace y ver que daba cosas incoherentes y dejarlo ahí. Sabiendo un poquito más de esto, que tampoco es algo supercomplicado, quizá se pueda dar con la causa de una intrusión o algo similar.