Machine-readable codes also have space-efficient error correction built in, something that plain text does not support. A text label can become unusable with the loss of a single character.
Only if the code has no error correction built in. If the code is presented to the user to write down it's perfectly possible to have redundancy in the code.