Kurz erklärt
Beim Event Sourcing speichert man nicht den aktuellen Zustand, sondern alle Ereignisse, die dazu geführt haben. CQRS trennt das Schreiben (Commands) vom Lesen (Queries).
Genauer
Der Zustand ergibt sich, indem man die Ereignisse nacheinander abspielt. Das liefert vollständige Historie und Nachvollziehbarkeit. Für schnelle Abfragen baut man aus den Ereignissen separate Lesemodelle (Projektionen).