Self check-out works amazingly well in the country I'm from (the Netherlands), most shops have even done away with most traditional check out lanes, leaving only a couple for people that don't want to use self checkout. You do have to scan the bar code of every item the same way a cashier would but because many more self checkout counters fit where there used to be only one traditional checkout lane, you never have to wait for a free counter so it still saves a tremendous amount of time.
Shoplifting is countered by random inspections so every so often before you pay, your checkout locks up and e clerk comes over to scan 5 items to ensure you've scanned everything. I'm pretty sure they also link that data to your customer loyalty card so I hardly get checked anymore..