Hello :). One reason is b ecause you basically have two parents in that page. One is absolutely positioned so there is no way that the parent can know it's there. It's taken out of the flow :).
Next one, #paragraph, has all the content basically, but it's all floated inside. That takes elements out of the flow as well. The parent doesn't even konw it's there. YOu need to contain the floats and thus allow the body to extend its' height.
Try adding overflow:hidden; to #paragraph and you'll see the body extend (because #paragraph gets taller due to it containing the children, and as a result the body gets bigger from seeing #paragraph got bigger)