When you want a page to display literal tag characters like <div> as text โ instead of having the browser interpret them as an actual tag โ HTML entities are the answer.
Why <, >, and & can't be used as-is
An HTML parser reads < and > as the start and end of a tag, and & as the start of an entity. To display these characters literally, they need to become the entities <, >, and &.
Commonly used entities
Beyond named entities like a quote as ", a non-breaking space as , or the copyright symbol as ©, any Unicode character can also be written as a numeric reference in the form &#number;.
Where this comes up in practice
HTML entity encoding is needed when showing a code sample literally in a blog post (so the tags don't actually render), or when escaping user-submitted text before displaying it, to prevent an XSS (script injection) attack.