Hola,
querySelector, retorna el primer elemento que encuentra y puede ser dependiente de la etiqueta padre p/e
<form>
<input type="text" value="Diego">
<input type="text" value="Medina">
</form>
<script type="text/javascript">
nombre = document.querySelector("form input");
console.log(nombre.value);
</script>
getElementById, retorna el elemento referenciado por el identificador p/e
<input type="text" id="nombre" value="Diego">
<input type="text" id="apellido" value="Medina">
<script type="text/javascript">
nombre = document.getElementById("nombre");
apellido = document.getElementById("apellido");
console.log(nombre.value + " " + apellido.value);
//EQUIVALENCIA
nombre = document.querySelector("#nombre");
apellido = document.querySelector("#apellido");
console.log(nombre.value + " " + apellido.value);
</script>
En general se pueden utilizar de forma similar.