The house analogy, HTML is the building frame and foundations, css is everthing you put inside the house, and I guess DOM is the way you present your plans to your builder/interior desginer.
To break down the way you want your website to look into different smaller boxes, which represent the different divs and elements you'll have to create and organize.
The box model is the format that divs are presented in the browser. They start with all the content which is inside a box and then contain all the padding and margins which control the area the div takes up.