why document.createElement returns object text code example

Example 1: code for adding new elements in javascriipt js

<html> 
<head> 
<title>t1</title> 
<script type="text/javascript"> 
	function addNode() 
     {var newP = document.createElement("p"); 
	  var textNode = document.createTextNode(" This is a new text node"); 
	  newP.appendChild(textNode);
      document.getElementById("firstP").appendChild(newP); } 
</script> </head> 
<body> <p id="firstP">firstP<p> </body> 
</html>

Example 2: document create element

document.body.onload = addElement;

function addElement () { 
  // create a new div element 
  var newDiv = document.createElement("div"); 
  // and give it some content 
  var newContent = document.createTextNode("Hi there and greetings!"); 
  // add the text node to the newly created div
  newDiv.appendChild(newContent);  

  // add the newly created element and its content into the DOM 
  var currentDiv = document.getElementById("div1"); 
  document.body.insertBefore(newDiv, currentDiv); 
}