Our color space is three-dimensional, we always need three independent values to describe a color. The CIE diagram has only two dimensions, it shows ‘colorness’, but doesn’t tell anything about luminancy. There is a third dimension, the same colors, but extending into increasing brightness along it. The gamut triangle for a monitor is a cross-section going diagonally through its original color cube. It can’t display colors with chromaticity coordinates outside of this triangle, but it isn’t limited to that plane.
Every color monitor uses red, green, and blue light, because this gets closest to feeding the receptors in our eyes with three independent values. If it can mix white from it (or something your eyes are willing to accept to be the white point), it can make you perceive all colors from the three-dimensional volume of a complete color cube. It doesn’t matter if light from other things could make you see a bluer blue, for instance. Your eyes will adapt to the new boundaries and accept them.
When a software lets you choose from a continuous area of colors, it has to map these three dimensions onto a plane where you can click on it with your mouse. There can be used many different mappings, but one value always has to be fixed (or set from another control elsewhere).
The usual color wheel only lets you choose from colors with a fixed brightness. You won’t find a brown in that rainbow, because actually it’s just a kind of dark orange. You have to choose that and select a lower brightness elsewhere. Let’s face it, that likeable brown isn’t really a color. :(
But why then don’t such common colors appear in the discrete list of colors where it wouldn’t matter which parameters have to be changed?
Tradition. The early color enabled PC hardware wasn’t even able to display orange. It could individually control the red, green, and blue to be either on or off. The text-blinking attribute (of course we’re still talking text-only-terminal era) was optionally interpreted to double the total brightness, leaving us with the standard 16 color PC palette of black, white, red, green, blue, yellow, cyan, magenta, and their brighter counterparts.
Also, these first 8 colors are the corners of the color cube, and every (even non-PC-related) color selection at least just has to base on them. You wouldn’t gain that much from having a line of orange-shades, because you could vary only one parameter, and there are so many colors you still would miss. Still, why don’t they add a reasonable and useful selection of single colors?
Most importantly, instead of putting work into that, it’s much easier for the programmer to give the software some corner values and have it automatically generate an insane amount of intermediate steps between them.
(“text-blinking attribute” … oh boy do I feel old again :()