¿Hay una buena razón para escribir mi propia función daemonize en lugar de usar daemon (3)?

Hay muchos ejemplos de implementaciones de demonios en la red. La mayoría de lo que vi no usa la función daemon (3) para ejecutar el programa en segundo plano. ¿Es solo una cuestión de gusto, ignorancia o hay una buena razón para escribir mi propia función daemonize? ¿Existe una desventaja específica en el uso de daemon (3)? ¿Es inseguro?

Respuestas a la pregunta(4)

Su respuesta a la pregunta