אפל is the closest in meaning to dark, bacause like in English it means both devoid of light and ominous. You wouldn't use it to say "it's getting dark outside" in the evening.
חשוך is for the physical quality if being dark. Like in "it's getting dark outside", but it is also used to describe biggots.
כהה is having many dark pigments. Like a deep colour.