「撤銷」係指法律關係發生前或發生時表意人之意思表示存在瑕疵,表意人行使撤銷權,使已發生效力之法律行為溯及既往歸於消滅。簡單講就是「將本有瑕疵之意思表示撤銷,使其失效」民法92條第一項前段:「因被詐欺或被脅迫,而為意思表示者,表意人得撤銷其意思表示。」因為被詐欺或被脅迫者為某種意思表示係有瑕疵,所以法律規定表意人可以撤銷其意思表示。例如某女被脅迫簽下一協議書,因某女是被脅迫的,所以可以將意思表示撤銷,但如某女一直不撤銷,這協議書仍是有效的,且一年後某女即使要撤銷也因期間經過而不能撤銷了。
「撤回」係指表意人發出意思表示後,於意思表示受到拘束前,即將此意思表示撤回,例如甲對乙表示要賣乙A屋,在乙表示意思前,甲又將其原先要賣的意思撤回。所以「撤銷」與「撤回」是用在不同的地方,前者是法律關係已經發生,而要將此存在的法律關係溯及既往失其效力,後者則是在法律關係發生前即將意思表示撤回,法律關係自始就未發生。
「解除」是指法律關係成立後,發生解除事由,則有解除權之一方可以解除法律關係。民法第254條:「契約當事人之一方遲延給付者,他方當事人得定相當期限,催告其履行,如於期限內不履行時,得解除其契約。」此例可知,遲延給付一定發生在契約成立之後,亦即解除事由係發生在法律關係成立後,與「撤銷」不同,「撤銷」原因須發生於法律關係發生前或發生時,不過,撤銷與解除的法律效果很像,都是使已發生之法律關係溯及既往失去效力。不明白這點差異的人,往往會將「撤銷」寫成「解除」,將「解除」寫成「撤銷」,例如約定「如一方有違約情形,他方得撤銷本契約」,這就是錯誤的約定,因為違約一定發生在法律關係發生後,所以不會用「撤銷」,一般而言,契約內約定撤銷的情形很少,解除倒是很頻繁,所以契約內出現「撤銷」的字眼應該警覺,有可能是用錯了(不過一般契約倒也沒分這麼細,大家都混著用,但學法律的人必須分清楚,以免發生糾紛時吃虧)。