Considerazione sul prologo XML.

E` vero che il W3C lo consiglia (ma non e` obbligatorio); pero` in IE, se la pagina non inizia con il DOCYTPE, questo non viene interpretato, e il browser passa in "quirk mode", come se non ci fose il DOCTYPE. Quindi non metterlo e` preferibile se si usa XHTML 1.0 (Strict o Transitional).
Diventa obbligatorio se si usa XHTML 1.1, ma allora si esce da quanto puo` interpretare IE correttamente (e non so come si comportera` IE7).

In XHTML, il <meta> e` ancora il modo migliore per definire il charset, per quanto ne so.

Non conosco la differenza tra i due charset: credo che con una ricerca in rete o in alcuni siti citati tra i "link utili" del forum CSS, puoi trovare la risposta. Potrebbe anche essere che i due charset sono molto simili: infatti sono due sistemi di "standard" diversi, ma che mirano allo stesso scopo: far conoscere al brwoser il set di caratteri usato.

Puoi anche non usare un charset, ma allora devi restare nell'ambito dei caratetri ASCII a 7 bit, per cui tutti i caratteri dell apagina superiore vanno sostituiti dalle entita` (vedi i reference per XHTML).