There's a few different questions you might be trying to ask here. I'm not sure exactly what you want to know.
Most serial communications protocols are pretty simple. You have a data line and a clock. You assert the data you want to send (1 or 0) on the data line, then tick the clock, and the other side reads the data when the clock ticks. Simple. But not very robust.
The biggest problem is line noise. There's always some amount of noise in an electrical connection, especially if it has to run over any appreciable distance (wires tend to act like antennas when they get big enough, plus you can get interference from other nearby wires). With differential signalling, you use two wires, and send your signal twice -- through one wire 'positively' (that is, you send +X volts for '1' and -X volts for '0') and the other 'negatively' (send -X volts for '1' and +X volts for '0'). Since (presumably) you get the same amount N of noise in each wire, what you end up with is:
Positive wire: X + N volts
Negative wire: -X + N volts
Then you can get X (with most or all of the noise removed) by taking the difference of the voltages on the two wires. If your voltage comes out positive, the signal is a '1'; if it's negative, the signal is a '0'. This lets you use much higher communication frequencies, and much longer wires, without degrading your signal too badly. You can get more sophisticated (for instance, using something like QAM, or sending your signals as transitions rather than static voltages), but that's the basic principle.