OMR/OCR/ICR/Barcode are different technologies. Each has its strengths or limitations.
OCR & ICR are supportive technologies and around 90%+ accurate and used only for double check or for alerts, the OCR/ICR is never used to obtain decisive data.
OMR/OCR/ICR has certain layout guidelines. ICR has certain additional design guidelines to OMR, so the sheet must be designed accordingly.
Similarly with barcode, sometimes due to printing/smudging or mal-handling, the barcode gets disturbed or destroyed. Obviously if something is disturbed it cannot be read accurately. Barcode size and printing technology also has an effect on the final output of the barcode.
So Barcode are preferably printed at two locations, so that if one is disturbed, the other can be read. 100% barcode reading can be achieved with this simple measure.