Error proofing means that we’ve made it impossible to create a create a defect to begin with. Mistake proofing means that, once a defect is created, the process will detect it and prevent it from reaching the customer (and in most cases the next operation).
Below is an error proofing example in a sandwich shop, of all places. In this particular case, the sandwich shop wants to ensure that plastic trays are not accidentally thrown into the trash. Instead of simply relying on the sign that is on the trash can, the shop owner went one step further and made the trash can opening too small to fit the tray.