Qual é a diferença entre node.nextSibling e ChildNode.nextElementSibling?

Here is div-01
Here is div-02

Não são a mesma coisa?

Ambos retornando o nó imediatamente seguido. Eu li um monte de artigos, mas parece-me a mesma coisa, mas não consigo descobrir onde usar um versus outro?

nextElementSibling sempre retorna um elemento. nextSibling pode retornar qualquer tipo de nó. Eles são os mesmos para o seu exemplo, mas diferentes em outros casos, por exemplo:

 

Here is span-01 Some text at the top level Here is span-02

Nesse caso, document.getElementById('span-01').nextElementSibling é span-02 , mas document.getElementById('span-01').nextSibling é o nó de texto que contém “Some text at the top level” (ou, como apontado por @Manngo nos comentários, o espaço em branco que separa esse texto do elemento acima – parece que alguns navegadores colocam espaços em branco entre elementos e nós não-brancos em nós separados, enquanto outros combinam com o resto do texto) .