1. All flights have been cancelled because of bad weather.

2. All flights have been cancelled because of bad weather.

3. He cancelled the promise.
4. He canceled the promise.

(Which one is correct? Which one is the correct form of the past tense of 'cancel'? Are both OK?)

Both are correct.

Both 'cancelled' and 'canceled' are correct forms of the past tense of 'cancel'. The spelling 'cancelled' is more commonly used in British English, while 'canceled' is more commonly used in American English.

In sentence 1, the British English spelling is used: "All flights have been cancelled because of bad weather."

In sentence 2, the American English spelling is used: "All flights have been canceled because of bad weather."

Both sentences are grammatically correct, and the choice between 'cancelled' and 'canceled' depends on your preferred variant of English.