Je te conseille même de lire l'article sur l'unicode plutôt que celui sur l'utf-8 sur wikipedia. Mais pour résumer, l'unicode c'est juste une représentation des caractères, tandis que l'utf-8 est une façon de les coder, qui consiste en gros à utiliser plus d'un octets pour les caractères spéciaux (à l'origine on en utilisait un, avec 7 bits pour les caractères standards dis "ascii" communs à tous les encodages, et 1 bit pour les caractères spéciaux,dis ascii étendu, qui varient selon les encodages, les encodages ayant des besoins différents selon les plateformes et les pays, c'est pour ça qu'avec un mauvais encodage on lit tous les caractères correctement sauf les caractères accentués/spéciaux). Il y a d'autres encodages unicode que l'utf-8 destinés à des usages différents. Par exemple l'utf-8 pose de gros problèmes avec certains langages de programmation parce que la taille de codage d'un caractère peut varier. D'où l'utf-16 ou utf-32.
Et puis d'ailleurs il y a également plusieurs utf-8 différents selon les pays, en général on utilise le suédois...
Bref, que d'illusions pour ceux qui pensaient que l'utf-8 allait être une norme universelle pour plus se trimbaler 50 encodages différents, il ne fait que complexifier les choses.

Mais permet de représenter un nombre quasi infini de caractères.
Pour ce qui est des équivalents html, dis entités, ils servent à s'affranchir des encodages de texte... C'est pratique quand on bosse sur mac et que des collègues sont sur pc, parce que par défaut nos fichiers sont en macroman, tandis qu'eux sont en windows latin 1 (ou iso 8859-1 sous linux, qui est assez proche à priori et est le plus répendu sur internet), et le pire c'est que rien n'a été prévu comme norme pour pouvoir spécifier dans un fichier en quoi il est encodé, il faut deviner. Les entités servaient aussi quand les navigateurs ne connaissaient pas forcément tous les encodages... Bref, c'est quelque chose de tout à fait indépendant de l'encodage de texte, c'est de l'html.