Oh, the colors!

Fading and washing out aren't what make dyes semi/demi-permanent and permanent.

You can have long lasting semi/demi-permanent dyes, but they are not considered permanent because of the formulation.

Semi-permanent color is designed to deposit color onto the hair only and has no lightening effect. The formula includes an activator that develops the color and helps to raise the cuticle of the hair shaft so that the color can be deposited there. Semi-permanent color doesn't penetrate into the cortex of the hair, but it will usually last from six to eight weeks, gradually washing out with each shampoo.
Demi-permanent color is also a deposit-only color with no lightening effect. The difference between the Semi- and Demi-permanent colors is that with demi-permanent color the color molecules are smaller and therefore penetrate into the cortex of the hair, as well as being deposited on and in the cuticle. The color achieved also lasts longer, but will fade due to the formulation of smaller color molecules being able to come back through the cuticle with each shampoo.
Permanent colors are designed to penetrate the hair shaft and deposit their color directly into the cortex of the hair. The formula contains a developer to raise the cuticle and allow the color molecules to penetrate into the cortex, and also contain aniline derivatives which combine with hydrogen peroxide to produce larger tint molecules which are then trapped inside the cortex.
By virtue of their formulation, permanent hair colors are able to deposit color, but can also be used to lighten the color of the hair, depending upon the strength of the hydrogen peroxide used as a developer.

/r/pics Thread Parent Link - i.imgur.com