First up, temporary colour, around 7.0-8.0 on the pH level. The temporary colour molecules are too large to enter the hair cuticle. They 'stick' to the outside of hair, and are easily washed away. It's the lowest commitment way to colour, and there are so many different formats of temp colours nowadays. The least damaging of the hair colour family.
Next, the semi permanent colour. This penetrates the cuticle and lies on the outer edge of the cortex. A semi permanent colour (around 8.0-9.0 on the pH level) will last up to 15 washes, but with every wash you will notice fading as the molecules escape the hair. This can be a great way to colour hair inbetween applying permanent colourants. It'll boost shine and keep colour looking fresh until you have the need to really sort that regrowth. Also good for trying new shades.
Then you have permanent colour. This is the long term commitment. The higher alkaline pH level (9.0-11.0) helps open up the cuticle 'tiles' allowing the small colour molecules to enter the cortex (the majority of colour products are alkaline as they need to penetrate the hair shaft) The molecules then attach to hydrogen perixode becoming too large to leave the cortex. So they stay put and that's permanent colour. The science word is oxidation.
Oh, if you fancy a little light-hearted read about hairdresser woes, I'm over on the Metro site today.