Glassner (1990) discusses how the human eye is able to distinguish about 200 intensity levels in each of the three primaries red, green and blue. All in all, up to 10 million different colours can be distinguished. The human eye is extremely good at seeing the slightest differences between two apparently similar tones, mostly so when they are next to each other or overlapping.
The RGB cube with 256 subdivisions on each of the red, green and blue axes (as it is very often used) represents about 16.7 million colours and suffices for the human eye. It enables display of colour shaded scenes without visible colour edges, and is therefore well suited to computer graphics.
However, colour devices that deal with 16 million odd colours at the same time are complicated and therefore expensive. Thus, we need to compromise by using cheaper hardware and choosing a portion of this vast palette in such a way that we try to keep the human eye 'happy' (ie: try to quantise the colours to best effect).
At this stage, it should be pointed out that colour appreciation is a rather subjective area. If an artist creates a colour, s/he mixes varying amounts of other colours to reach the desired colour. For example, if s/he wants to paint green grass by mixing yellow and blue, then s/he will do so until some visually satisfying green is achieved. However, if s/he runs out of the colour half way through the front garden, it may be quite impossible to mix the same colour again as the amounts of each colour weren't measured. Also, on another day, the light may be different (overcast/sunny), causing the colour to reflect different light, making it appear quite different.