Liberar software simultaneamente para muitos usuários é arriscado. O que você faz, se algo der errado? Uma implementação gradual permite detectar problemas mais rapidamente e você terá menos trabalho a fazer para recuperar-se de contratempos. Não ter conectividade de rede confiável para os hosts que executam esse software agrava o risco.
Pode haver problemas de compatibilidade entre diferentes versões. Tais problemas de compatibilidade são mais bem tratados garantindo que cada versão seja compatível com seu antecessor imediato (mas não necessariamente mais atrás). Quando vários componentes estão envolvidos, a solicitação de atualizações de componentes também pode ser relevante.
Mas, depois de ter decidido que uma nova versão está pronta para uso, por que não implantá-la imediatamente, em vez de esperar por um período especificado no futuro? Normalmente, a principal razão para esperar seria garantir que você está pronto para lidar com qualquer problema que possa aparecer. Mas se esse é o propósito, ter uma versão automatizada acontecendo enquanto o dispositivo não tem conectividade de rede, pode ser uma liberação acontecendo no pior momento possível.
Entre a hora em que você agendar o lançamento e a hora em que isso realmente acontece, as coisas podem acontecer. Você pode encontrar um bug, isso significaria que você gostaria de cancelar o lançamento. Você também pode descobrir que as pessoas que devem estar prontas para fornecer suporte não estarão disponíveis no horário planejado e você precisará adiar o lançamento. Nesses casos, a falta de conexão de rede pode impedi-lo de interromper um lançamento, mas isso não deve acontecer depois de tudo.