Traditional chroma keyers select one RGB (HLS, YUV, etc..) value and create the key signal using that selected color. This means that, when using a traditional chroma keyer, your incoming image should have exactly the same RGB values on every pixel. In real-world, this is very unlikely to happen. Usually you will have some variance in your green screen image due to uneven lighting. In order to tolerate the variances in green screen color, chroma keyers have to increase the tolerance (thus clipping fine details like hair) or increase the softness (introduces wrong transparent areas in the key).