One important thing to understand about HTML is that as you (the user) resize the document window or change the document font, the content of the document will lay out according to the rules of HTML to try and best fit in that space. One way to test this out is to try resizing this page while you are reading it: this will give you some idea of how flexible HTML is.
Of course, with this flexibility comes limitations: it's impossible to predict exactly what a page will look like on a user's machine. Each user will view the page at different widths and heights and with different fonts. Even the same font (such as Times) can come out differently on different computers. Images, too, will look different depending on the display capabilities of your reader's computer.
There are other limitations, too. The specification that describes HTML and how it should look is always undergoing revision and, as you can imagine, there are always vague areas. So each of the different HTML browsers may display HTML slightly differently. This entire document is Netscape centric -- I work here, after all. Ready? Well, here are some basics you can look at: