Existe uma boa razão para escrever minha própria função daemonize em vez de usar daemon (3)?

Existem muitos exemplos de implementações de daemons na rede. A maioria dos que eu vi não usa a função daemon (3) para executar o programa em segundo plano. Isso é apenas uma questão de gosto, ignorância ou há uma boa razão para escrever minha própria função de daemon? Existe uma desvantagem específica no uso de daemon (3)? Isso é inseguro?

questionAnswers(4)

yourAnswerToTheQuestion