The file extension to denote HTML (Hypertext markup language) files. HTML is the language of tags used to format text, images and more complex content for the world wide web. In DOS and some other systems, .htm is used to denote HTML files when suffixes can only have three letters.
As web content becomes more advanced, many pages that you would think would be foo.html go by other suffixes, such as .jsp, .asp and others. The standards for web development and HTML are maintained by the W3C.
Although much more could be contained here, I highly suggest looking at The HTML Metanode for an excellent collection of nodes and information.