Hola:
Simplemente document es el origen del documento y document.body es uno de los nodos hijos, y al ser getElementsByTagName un método de todos los nodos, tan solo empieza el rastreo de nodos desde 2 nodos de diferencia (document / documentElement[html] / body).
Muchas veces me ayudo del
destripador para ver como funciona el árbol de nodos del documento,
Espero que te sirva.
Saludos