In more detail
The first byte of each character says how long the sequence is: 0xxxxxxx is a one-byte ASCII character, 110xxxxx starts two bytes, 1110xxxx three and 11110xxx four, and every following byte has the form 10xxxxxx. That design means plain ASCII is unchanged, no ASCII byte ever appears inside a multi-byte character, and a reader can resynchronise after a damaged byte. It is the default for the web, JSON and most modern software.
Why it matters
Because it is variable-length, a string's byte count is not its character count: é takes two bytes and most emoji take four, which matters for database column limits and truncation. Text decoded with the wrong encoding produces mojibake: UTF-8 café read as Latin-1 or Windows-1252 shows as café. An optional byte-order mark (EF BB BF) at the start of a file helps some spreadsheet programs but can break scripts and configuration files.
Example
A is 41, é is C3 A9, € is E2 82 AC and 😀 is F0 9F 98 80. Working out é (U+00E9, binary 00011 101001): the two-byte template 110xxxxx 10xxxxxx becomes 11000011 10101001, which is C3 A9. See every character's bytes with Unicode Character Inspector.
Common confusion
UTF-8 is an encoding of Unicode, not a separate character set.