HTML is short for HyperText Markup Language. It is a way of formatting text, so the browsers can turn it into a readable page. We are talking mundane things like "here the text is in italics", "here we have an indent", "here we have a table", etc. HTML is not a program per se, which is why it is sort of misleading to call it programming a web page.
The reason that it is not entirely misleading is that we often use programming routines to make parts of the site/page do something specific, e.g. when clicking on a picture or fill out an application sheet. Especially with the current versions of HTML you have some tools at your disposal that resembles programming.
What can it do?
HTML is a part of the trinity that makes World Wide Web (WWW) work. When we navigate on the internet, we use three things: URL (Uniform Resource Locator) which is a database lookup, ensuring that when you write the name of a site, the computer contacts the right computer out there in the world. HTTP (HyperText Transfer Protocol) which is the programming routine that makes the various computers communicate and get the requested pages. And so, HTML is the part that tells how the page should look in terms of content and layout.
Is it dangerous? You hear so much about virus and other stuff!
In itself, no. HTML can't do anything dangerous, as it is only a tool for formatting the page.
Are there any alternatives to HTML?
Oh yes... several have appeared since HTML was introduced in 1992/1993... e.g. php, XML and XHTML. Actually, HTML was supposed to be phased out and replaced by other formats, but instead, some people decided to improve HTML, so it could handle the current requirements and remains a fantastic tool for making web sites.
The alternatives are covered on other sites, but yes, there are some excellent alternatives.