From an API perspective, the functions secp256k1_keypair_pub and secp256k1_keypair_xonly_pub always succeed (i.e. return the value 1), so the other cases in the pubkey parameter descriptions never happen and can hence be removed.
Note that the “1 always” return value description was previously done in commit https://github.com/bitcoin-core/secp256k1/commit/b8f8b99f0fb3a5cd4c6fb1c9c8dfed881839e19e (PR #1089), which also explains why invalid inputs for the affected functions are in practice only possible in violation of the type system.