For replay protection, it would be sufficient to require a unique nonce for every transaction from the same address. More precisely, it would be sufficient to consider a new transaction T from an address A with a nonce N inadmissible in the ledger if another transaction T' from A with nonce N already occurs in the ledger.
But Ethereum is more strict. Roughly speaking, it considers a transaction T from A with nonce N inadmissible in the ledger if N is not equal to M+1, where M is the nonce of the last transaction from A in the ledger.
Why is that? Why is Ethereum more strict than it needs to be?
I can think of two reasons:
The stricter approach is more efficient (in space and time) to check.
The stricter approach gives users a way to control the execution order of their transactions.
Are there other reasons?