What HTML entities are for
Five characters have special meaning in HTML: < and > start and end tags, & starts an entity, and the two quote marks delimit attribute values. To show them as text you replace them with entities — <, >, &, " and '. That is how tutorials display code samples, and how you stop user-entered text from being interpreted as markup.
Do you still need entities for é, £ or emoji?
Not if your page declares <meta charset="UTF-8"> and the file is saved as UTF-8 — which every modern editor does by default. Numeric entities like é are only needed when the HTML will pass through a system that mangles non-ASCII text, such as some older email tools. If accented letters show as é on your published page, the charset tag is missing; the HTML checker flags it.
Decoding safely
Decoding here uses the browser's own parser inside a detached <textarea>, so it understands every named entity ( , —, ……) without running any markup in the input.