Validations Sets vs Gating Snap


There seems to be some crossover between Validation Sets and Gating Snaps. It seems they use different assertions [ validation-set vs validation ], which different delivery methods [ snapd API vs gating snap ], but they both seem to be able to control snap releases.

Am I correct, or have I misunderstood ?

If they are compatible, is there a doc that highlights the differences ?

Cheers, Just