It's a lot easier to get a law passed then to get it revoked, because revoking a law would suggest admitting some sort of mistake, and that's pretty much a political impossibility. So once a law gets into place it's damn near impossible to get rid of it.
I think a large part of the reason pot is still mostly illegal is because no politician wants to be the guy to say "wow what a massive fuckup we've made".
The only way to "revoke/cancel" (repeal) an amendment is to issue a new amendment repealing a previous amendment, which is precisely what the 21st Amendment does.
Think of it like git version history: even a revert is actually a new commit.
I think a large part of the reason pot is still mostly illegal is because no politician wants to be the guy to say "wow what a massive fuckup we've made".