What is Parity checking?
Consider that we now have an extra lane on our data bus and that there is a patrol car parked there, observing the traffic flowing past:

Let's assume that the bus width is now 9 bits wide (9 "lanes") and that the destination is a memory location in the computer.

The patrol car will observe whether the number of cars in the other lanes is an odd number or an even number, and report this back to base. Parity may be classed as odd, even, or none. Depending on what the base has instructed the patrol car to do, the patrol car may drive off and keep pace with the other cars, arriving at the memory location along with them.

If the parity has been set to even, then the patrol car will drive off if it sees that there is an odd number of cars; its inclusion will make the total number of cars even. If the parity has been set to odd, then the patrol car will drive off if it sees that there is an even number of cars; its inclusion will make the total number of cars odd. If the parity has been set to none, then it will take no action.

This is a very rudimentary form of error checking, as it allows you to keep track of the parity for every byte of data that you store. If you have set the parity to a certain type, and the data comes back with a parity not in agreement with that type, then you know there has been an error.