A markup language (which is what HTML is) is like an advanced text container. When you write a post or comment here, you can use specific syntax to indicate the size of the text, a hyperlink, a quote, etc. HTML is that. It doesn't "do" anything, you're just writing in what you want it to display, and that is displayed.
A programming language lets you somehow "do" something. Instead of declaring explicitly "write this text in bold" a programming language can be used to process all the text in an arbitrary document, and change the word "aeroplane" to bold whenever it turns up. That is: The output from the code isn't just a rendering of what is explicitly written there, which is what a markup language gives you.
Yes, typing
<p>
in HTML is like pressing enter in word, but that doesn't make it a programming language, it makes it a markup language.A markup language is also what you can use to format comments here: You use a specific syntax to indicate how you want things formatted.
The separation from a programming language is that a programming language can be used to implement logic, like saying: In the following paragraph, a word should be bold if it contains the letter "A". That cannot be done with a markup language.