The trouble is, it's most often the staff (or lack of) or the scanner that get the blame, when the problems are often due to lack of technique on the part of the customer.
Here are a few simple tips that work for me (and I used to sell retail barcode laser scanners, incidentally):
1. Check the 'windows' on the scanner: if they are filthy, the machine won't be able to function properly.
2. Check the screen to see that the machine is ready to scan, before you attempt to scan your first item.
3. Ignore the invitation to put your own bag on the scanned goods tray; you can avoid a lot of problems if you don't attempt to pack as you go - leave that to the end when you've paid for your purchases. It's important the 'out' tray isn't disturbed when you're registering your purchases and that's why you should take care not to lean against or nudge the machine accidentally (which will throw the machine out of balance) - easily done if you're trying to pack as you go.
3. Be positive when you scan items: wafting them vaguely over the scanner window won't work and putting them on the horizontal scanner window and using a scouring motion isn't too reliable either. Hold the item about two inches away from the scanner and move it smartly across the scanner, using something like a twitching movement.
4. If you're trying to scan an item in flexible packaging, e.g. a bag of frozen peas, STRETCH the packaging and then, keeping it taut, scan it. If you neglect to do this, the scanner may only see part of the barcode and won't accept the item.
5. If you're scanning an item's barcode and it isn't recognised, try moving it towards and away from the scanner several times as if you're trying to bring the barcode into focus; this often works.
If none of the above works, call for help - you've done your best to use the machine.