A única diferença está no método toString () , que determina o que acontece quando você tenta transformar um objeto em primitivo. Você não definiu o que deseja fazer, mas se estiver tentando transformar um objeto DOM em representação textual de HTML, a propriedade outerHTML deverá fornecer o que você precisa.
var element = document.createElement("span");
element.appendChild(document.createTextNode("text"));
alert(element.outerHTML); // returns "<span>text</span>"