First, let's talk about two different kinds of HTML elements: "block level" and "inline" elements. Block level content occupies the entire space of of its parent, must appear only within a <body> element, and most browsers will place a newline both before and after the element. So, when you view it, it looks like a block. For example:
<p>A paragraph is a block level element; the background has been colored to make it more visible</p>
A paragraph is a block level element; the background has been colored to make it more visible
Block level elements by default begin on new lines, but inline elements can start anywhere in a line. Another way to think about it is that block level elements are the containers which hold content while inline elements deal with phrasing content within these block level containers.
But our focus today is on block level HTML5 elements, although they are admittedly not called such past HTML4. Some examples are <body>, <h1>-<h6>, <section>, and <div> among others. For a complete list, check out this page. As you can see in the example above, the paragraph element creates a block. You should also note that by default the block takes up the entire width of the screen. All blocks have margins, a border (although it may be invisible), and padding. So what are these things? Let's take a look at a diagram.
The content is whatever you have placed inside the element, whether that is text or a picture, for example. Between your content and the border we have padding. It creates "white" space between your content and the border to give you some breathing room. Of course, you don't always choose to display an actual border around your elements, but in a sense this border always exists as the boundary between the padding and the margin. Which brings us to what the margin actually is. The margin is the transparent buffer outside of the border; it gives each element breathing room from nearby elements. Without a margin, elements will bunch up as close as they can without overlapping.
To illustrate, take a look at the four examples below:
This is a paragraph with 0 padding, and 10px margins
This a paragraph with 10px padding and 0 margins
This paragraph has 0 margins and 0 padding
This last paragraph has 40px margins and 20px padding with a border