Con textContent solo modificas el contenido en texto, con innerhtml lo modificas a nivel html. Es decir con innerHtml podes agregar etiquetas html en el texto y js la va a interpretar como html, con textContent mostraria el texto plano.
Ejemplo
element.textContent = <bold>Esto </bold> es text content;
Salida =< bold>Esto < /bold> es text content"
element.innerHtml = <bold>Esto </bold> es inner html;
Salida = Esto es inner html
Obteniendo los datos seria lo mismo, con textContent obtenes el texto plano, y con innerHtml obtenes el texto mas sus etiquetas(las que son hijas).