As in most all markup languages the tag defines an element in the language. That element is the markup that carries data. The data could be in the element or as attributes to the element. In either case the element is there to carry data. That's what elements do.
Inside the document... of whatever markup language... the element or tag can be identified by its special characters. Since HTML was originally based on SGML the special characters are angle brackets (<>)... a.k.a. less than (<) and greater than (>) signs.
So a basic HTML tag looks like this:
In the strictest sense HTML tags always come in pairs. Therefore, the HTML element has two tags... one to open the element and one to close it with the data between them. Yes... there are situations when you don't have to close a tag... but that's not in the strictest sense.
So the element with both it's tags looks like this:
<p id="myElement" class="htmlElement" title="This is my element." style="color:red;"> This is my paragraph. </p>
As in all things computer... you have to be able to customize it... and we do that through the use of Parameters. Parameters in markup comes in the form of attributes.
Attributes allow us to customize an element. For example... put you mouse over this button:
Here is another example...
It will render like this (put your cursor over it)...
This is my paragraph.
The Empty Element
<input type="text" value="First Name">
Some elements don't need a closing tag. These elements are empty or self closing. They are empty because the data is being carried in the attributes.