A execução do Cron é "mais pura". Para começar, serão necessários menos recursos - seu script consumirá recursos extras (a memória para o shell, o timer e os Processos e descritores de arquivos extra vêm à mente). Enquanto praticamente máquinas são insanamente poderosas, é apenas menos elegante.
O Cron também tem uma maneira elegante de lidar com o stdout - > email ou what-have-you, que pode ser útil para depuração.
Se você usa o Cron, não precisa de coisas com privs diferentes, apenas diga ao cron qual usuário usar.
Claro, usar o upstart tem algumas vantagens - por exemplo, você pode querer um grau de aleatoriedade nas esperas ou um cronograma de processamento que o Cron não gosta. Há momentos em que uma solução como essa é melhor do que Cron - mas eu acho que eles são casos especiais.
Se você vai querer iniciar e parar o processo e ter controle de usuário, por exemplo, o Upstart pode ser uma maneira melhor de ir.