There is a temptation, after a photo-to-SKU demo, to declare barcodes legacy. That is a good way to spend six months rebuilding a problem the laser already solved in 40 milliseconds.
Barcodes are cheap, deterministic, and understood by every seasonal hire. Computer vision is probabilistic and needs a rejection path.
Use vision on the exception pile
Unlabelled returns, vendor packs with no internal stickers, damaged labels, and "what is this mystery item on the pack table" are the jobs. The happy path should still beep.
If you force vision on labelled items, you add latency and error for no benefit. Operators will bypass you with the scanner gun they already trust.
Make the two systems agree
When both a scan and a visual match exist, they should confirm each other. Disagreement is an event: wrong label on the item, or a lookalike the model likes too much. That event is more valuable than either signal alone.