Wie funktioniert der Hamming-Code?

Bei der Datenübertragung können Sie mit dem Hamming-Code anscheinend Daten wiederherstellen, die über die Leitung beschädigt wurden (ein Fehlerkorrekturcode).

Wie funktioniert das und wo liegen ggf. die Einschränkungen?

Gibt es bessere Lösungen für die Fehlerkorrektur (im Gegensatz zur erneuten Übertragung)? Gibt es Umstände, unter denen eine erneute Übertragung besser ist?