Photo Production Ltd v Securicor Transport Ltd  1 All ER 556, per Lord Diplock (pp.567-568):
Every failure to perform a primary obligation is a breach of contract. The secondary obligation on the part of the contract breaker to which it gives rise by implication of the common law is to pay monetary compensation to the other party for the loss sustained by him in consequence of the breach; but, with two exceptions, the primary obligations of both parties so far as they have not yet been fully performed remain unchanged. This secondary obligation to pay compensation (damages) for non-performance of primary obligations I will call the 'general secondary obligation'. It applies in the cases of the two exceptions as well.
The exceptions are: (1) where the event resulting from the failure by one party to perform a primary obligation has the effect of depriving the other party of substantially the whole benefit which it was the intention of the parties that he should obtain from the contract, the party not in default may elect to put an end to all primary obligations of both parties remaining unperformed (if the expression 'fundamental breach' is to be retained, it should, in the interests of clarity, be confined to this exception); (2) where the contracting parties have agreed, whether by express words or by implication of law, that any failure by one party to perform a particular primary obligation ('condition' in the nomenclature of the Sale of Goods Act 1893), irrespective of the gravity of the event that has in fact resulted from the breach, shall entitle the other party to elect to put an end to all primary obligation of both parties remaining unperformed…
Where such an election is made (a) there is substituted by implication of law for the primary obligations of the party in default which remain unperformed a secondary obligation to pay monetary compensation to the other party for the loss sustained by him in consequence of their non-performance in the future and (b) the unperformed primary obligations of that other party are discharged. This secondary obligation is additional to the general secondary obligation; I will call it 'the anticipatory secondary obligation'.
In cases falling within the first exception, fundamental breach, the anticipatory secondary obligation arises under contracts of all kinds by implication of the common law, except to the extent that it is excluded or modified by the express words of the contract. In cases falling within the second exception, breach of condition, the anticipatory secondary obligation generally arises under particular kinds of contracts by implication of statute law; though in the case of ‘deviation’ from the contract voyage under a contract of carriage of goods by sea it arises by implication of the common law. The anticipatory secondary obligation in these cases too can be excluded or modified by express words.