Was ist der konzeptionelle Unterschied zwischen finally und einem Destruktor?

Erstens ist mir klar, warum es in C ++ kein 'finally'-Konstrukt gibt. Eine lange Diskussion über Kommentare zu einer anderen Frage scheint jedoch eine gesonderte Frage zu rechtfertigen. Abgesehen von dem Problem, dass finallyC # und Java grundsätzlich nur einmal (== 1) pro Bereich existieren...