Nonce typically used to prevent Replay attack.
For example, challenges used in challenge-response authentication protocols generally must not be repeated until authentication keys are changed, or there is a possibility of a Replay attack.
Using a Nonce as a challenge is a different requirement than a random challenge, because a Nonce may be predictable.
Nonce may be used for an Initialization Vector it MUST only to be non-repeating and the required randomness is derived internally.