解除 (kaijo) is usually translated as “cancellation” and refers to the retrospective termination of a contract, while 解約 (kaiyaku) is usually translated as “termination” and refers to the prospective termination of a contract. A cancelled contract is treated as if it never existed in the first place, while a terminated contract is treated as if it does not exist from the time of termination forward.
Cancellation is appropriate when the goal is to completely unwind the transaction and restore the parties to their original condition: for example, “cancelling” a purchase and sale to return both the object and the purchase price to their original owners. Termination, on the other hand, is appropriate for a contract with ongoing rights and obligations when the parties wish to stop further transactions without unwinding their existing transactions, such as terminating an ongoing partnership, lease, or service agreement.
Unfortunately, these terms are not used consistently in practice in Japan. One glaring example is Article 620 of the Japanese Civil Code:
第六百二十条 賃貸借の解除をした場合には、その解除は、将来に向かってのみその効力を生ずる。この場合において、当事者の一方に過失があったときは、その者に対する損害賠償の請求を妨げない。Article 620 In cases where a lease is cancelled, the cancellation shall be effective solely toward the future. In such cases, if one of the parties is negligent, claims for damages against that party shall not be precluded.