Short for Hypertext Markup Language, HTML is what web designers and developers write when they create web pages. HTML isn't really a programming language as it is missing many of the standard features associated with programming languages. It is more a way to describe how things should appear in a web browser. With it you can make sections of text bold or make the typeface bigger.
Purists believe that HTML shouldn't be used to specify content layout. They feel that the content should flow freely and fill the screen in whatever way best suits the end-user. However, in practice, most web designers do attempt to control layout, feeling that expressing their message in a specific and controlled manner is a worthwhile pursuit.
To build features such as forums, shopping carts, and registration forms requires technologies other than HTML. It is best to think of HTML as the glue that binds all this functionality in to something that a web browser can interpret and display for the end-user.