I know a lot of people are confused on the subject of what is temporary? Semi-permanent? Didn't even know there was such thing as a demi-permanent?
So, temporary dyes are, well, temporary. Temporary in the sense that they are one time use. Temporary dyes are anything from spray ins, such as the photo on the right, colored gels (the kind that comes out during Halloween season), and rinses.
Apply the temporary coloring right over your own hair color (without bleaching or anything). When you wash your hair, the color comes out. Temporary cannot lighten your hair.
Semi-permanent.
Semi-permanent hair dyes are most likely the vibrants. Red, blues, orange, yellow, green, purple, teal, etc. Semi-permanents do not require a developer but they do require that your hair be bleached to show up vibrant. Take a white piece of paper and get a pink crayon, the color comes out pink. Take a black piece of paper and try to color it pink, and it doesn't show up. Same concept with your hair. The darker your hair, the less likely it'll show at all.
Semi-permanent will last anywhere from 1 week to 3 months depending on your hair color, how damaged your hair is, what shampoo you use, how often you shampoo, and the temperature of water you use when shampooing. My brother got blue pieces in his hair (it was bleached). He shampoos twice a day with very warm water. His blue washed out in one week. I personally have red under my bangs and wash my hair twice a week with a color safe shampoo in between lukewarm and warm water. My red lasts about 2 months before it starts fading at all. Also semi-permanents cannot lighten hair.
Demi-permanent requires a developer for it to work, but a low volume developer. Demi's are a deposit only color which means, you can only use it if you are going DARKER. If you have dark blonde hair and want to be a chestnut brown, you can use a demi-permanent. They are not damaging and give you the healthiest, shiniest color. But, they cannot lighten your hair.
Permanent hair color contains ammonia which is mostly meant for people who have virgin hair (has not been colored) wanting to go lighter. Since this dye has ammonia, it is not meant for anyone to use if they want to go darker because it can take a toll on the hair for the worst.
Permanent hair dye also is very useful when trying to cover a lot grey or resistant hair.
Well, now you know the different types of hair dyes and what they are meant to achieve and why they are used! :)