appendChild()メソッドとinsertBefore()メソッドは何がちがう

まず、documentオブジェクトのcreateElement()メソッドには、 新たなタグ(エレメントオブジェクトのインスタンス)を作り出す機能がある。たとえば、
var tagHR = document.createElement("HR")
とすれば、<HR>に対応するtagHRというインスタンスができる。 このインスタンスをページに追加するには、 appendChild()メソッドとinsertBefore()メソッドのいずれかを使う。 2つのメソッドのちがいは何か。 appendChild()はオブジェクトの子供としてタグを追加する。 insertBefore()はドキュメント構造のツリーに追加する(うーん、分からない)。 insertBefore(A,B)とすると、AをBの前に追加できる。 Aは必須でBはオプション。 ややこしい。
子供