In symmetric cryptography, the key version is some extra public data associated with a secret key. It's often (including, in DesFire) a single byte. It identifies the secret value of the key.
In the context of Smart Cards, that allows an external device (e.g. SAM) to determine which key value is used by a particular card, and perform cryptographic operations like card authentication accordingly. Typically, the application will read the key version from the card and give it to the SAM. The SAM selects which of several key values it uses (and, ideally, diversify, that is derive using some key derivation function, from the master key in the SAM and a unique card identifier read from the card, e.g. serial number).
Key version allows orderly key rotation without breaking functionality during the transition, that is changing the master key, with cards using (keys diversified from) old and new keys both accepted by a given reader, and typically the same SAM.