nodeValue vs innerHTML e textContent. Como escolher?

Estou usando js simples para alterar o texto interno de um elemento label e não sabia ao certo por que razão deveria usar innerHTML ou nodeValue ou textContent. Não preciso criar um novo nó ou alterar os elementos HTML ou algo assim - basta substituir o texto. Aqui está um exemplo do código: var...