I was curious about this a while ago but there are a bunch of features including error correction for damaged or partial codes. If I remember correctly, it was created for automated manufacturing so it makes sense to have redundancies to minimize delays and downtime.