Die (X)HTML-Spezifikation, auf welcher ePub in Teilen basiert, schreibt die Ersetzung aller nicht im Zeichenvorrat des von der (X)HTML-Datei verlangten Zeichensatzes vor. (Bei iso-8859-1 muss z.B. das Eurosymbol durch den HTML-Code ersetzt werden, weil das Eurosymbol da nicht als Zeichen definiert ist) Zusätzlich gibt es reservierte und auch verbotene Zeichen (<, >, &, ' und ja eigentlich auch das doppelte Anführungszeichen oben "). Da selbst bei direkter Angabe des gewünschten Zeichensatzes in einer (X)HTML-Datei nicht garantiert ist, dass die Software, welche den Inhalt darstellt (im Regelfall hier ein Browser, bei ePub ein ePub-Reading-System), den gewünschten Zeichenvorrat unterstützt, gibt es für fast alle "erweiterten Zeichen" die sog. HTML-Codes "&irgendwas;".
Es ist mit der Ausnahme von Dateien in einem Unicode-Zeichensatz im Lauf der Jahre zum Quasi-Standard geworden möglichst immer die HTML-Codes zu verwenden um Probleme mit nicht unterstützten Zeichensätzen zu vermeiden.
Weitere Details
hier im SelfHtml.
Also lange Rede kurzer Sinn: Bis auf die explizit reservierten 5 Zeichen muss man keine HTML-Codes verwenden und ' sowie " werden selbst bei Verletzung dieser Regel eigentlich von jeder Software korrekt dargestellt. Benutzt man jedoch keinen Unicode-Zeichensatz, sollte man definitiv für alle Sonderzeichen mit den HTML-Codes arbeiten um häufig auftretende Darstellungsprobleme zu vermeiden.