[font=georgia]As someone who has written a DTD or two let me fill in a few holes left by those articles, a DOCTYPE does three things:
1) As mentioned, it tells the browser that you know what you are doing;
2) It tells validators what version of HTML you are using;
3) It defines the entities.
One above is discussed in one of those articles. As to two, the different versions of HTML have very different rules and it is a important to keep them straight as it is difficult to remember what rules go with what HTML version you are using. And everybody makes mistakes. It is very important to always run your page through a validator and the validator cannot work without knowing what HTML version you are using. The entities are things like "&trade;" and they are defined in the DTD and can be defined in the DOCTYPE file. Browser support is iffy to say the least, but you can define your own entities and you can even use them to include the contents from other files.
Most of that stuff is built into the browser and you don't want to go about playing with entities unless you are using XML.
But it is important to use the DOCTYPE that corresponds to the version of HTML that you are using.
HTML 3.2 is the old kind of HTML. It's what most people think of when you say HTML. Anything written in HTML 3.2 will work on all graphical browsers.
HTML 4.01 Strict is the gold standard. Anything written in HTML 4.01 will in all browsers, be the graphical or non-graphical. This is the one all good web author's use.
HTML 4.01 Transitional includes all of 3.2 and all of 4.01 Transitional. 4.01 Strict relies upon CSS for layout and presentation. The idea was to allow web authors to create a page that like 4.01 Strict documents would work on all browsers but that like 3.2 documents would look good on all graphical browsers. In practice web authors use it to get away with sloppy HTML, ending up with documents that don't work on all graphical browsers and don't work on non-graphical browsers. It's best to not use the transitional DTD.
HTML 4.01 Frameset is for framesets and it includes all of the 4.01 Transitional DTD for your NOFRAMES element. This one has everything including the kitchen sink.
XHTML 1.0 Strict, Transitional and Frameset are just the HTML 4.01 DTDs in XML.
XHTML 1.1 is HTML 4.01 Strict in XML.[/font]