HTML 3.2 came out early in 1999 and is a description of how graphical browsers worked at the time. And to this day, if you write a page in HTML 3.2 it will look pretty much the same on all graphical browsers. The prolem is that it's likely to fail on a non-graphical browser such a Braille or audio browser.
HTML 4.01 came out late in 1999 and is a description of how browsers should behave. For the most part it is 3.2 stripped of most of the stuff concerning presentation. In 3.2 you might use the FONT element to set off some text as ig and red. Sighted users can tell that the text is a heading but nit the unsighted ones. In HTML 4.01 there is no FONT element so you mark the text as, say, H2 and thes use style sheets to make all H2 elements big and red. HTML 4.01 is described by the HTML Strict and HTML Frameset DTDs.
But being prescriptive, HTML 4.01 was ahead of the browsers. We once had to worry about browsers that didn't support stlye sheets so to cover the transitional period between 3.2 and 4.01 browsers the W3C also gave us 4.01 Transitional. It's simple a combination of all of 3.2 and 4.01. The idea is start with a proper 4.01 page and then add FONT elements and such to cover non-graphical browsers. The problem is that you can, and web authors frequently do, use it to produce web pages that neither work consistently across graphical browsers nor work on all kinds of browsers.
And the time of transition being long over, there is now no reason to be using the transitional DTD. Use HTML 4.01 Strict.