As palavras "Stable", "Testing" e "Unstable" estão apontando, em primeiro lugar, para as versões do pacote.
Os pacotes entram Unstable depois de terem sido corretamente empacotados de acordo com os padrões Debian e testados para as principais incompatibilidades na ramificação "Experimental". "Unstable" não significa "Will crash", mas "as versões do aplicativo / biblioteca são atualizadas continuamente a partir do upstream neste branch e, portanto, as versões não são estáveis ".
O teste é o candidato atual para a próxima versão "Estável". Os pacotes são propagados a partir de "Unstable" quando eles são considerados bons o suficiente para uma possível inclusão em um futuro lançamento "Stable". Em "Teste" eles são mais "testados", e aqui as versões do aplicativo / biblioteca também são atualizadas até que ocorra o "congelamento" (isso acontece alguns meses antes de declarar esta versão como a nova versão "Estável").
Após o "congelamento", a quantidade agregada de erros conhecidos entre todos os aplicativos / bibliotecas em "Teste" é reduzida a 0 e, finalmente, o lançamento é declarado Estável . Essa versão agora manterá a versão atual do pacote com quase exclusivamente atualizações de segurança durante a vida útil da distribuição estável. "Por quê?", Você pergunta: em, e. um ambiente corporativo onde tudo deve "apenas funcionar" (tm), isso é essencial, já que ninguém vai lhe dar tapinhas nas costas para manter os pacotes na versão mais recente se arriscar o tempo de inatividade devido a bugs recém-introduzidos.
Em casa, você deve, na prática, ser capaz de estar completamente seguro com o "Teste". Muitos (inclusive eu) usam "Unstable", não porque gostamos de viver no limite e não nos importamos com a disponibilidade, mas porque isso nos traz novas versões de pacotes e uma boa oportunidade para ajudar a resolver problemas e coisas do tipo.
Então, se você quer ficar dentro do Debian e tem as versões mais recentes do pacote upstream, use "Unstable".