they have no difference. it's the different way of expression.
to look at them in grammatical way, 검은 is an adjective form of 검다, 검정 is noun itself.
likewise, 파랑 is noun itself, and 파란 is an adjective form of 파랗다.
빨강 is noun and 빨간 is an adjective form of 빨갛다.
초록 and 녹 are both chinese letter based. they are same ways of green, but 초록 gives more younger, bright and fresh nuance, whereas 녹 gives more like.. written language, as if 적색 is as 빨강.
하얀 and 흰 are both spoken language(its written language is more like 백색) but 하얀 gives more childlike nuance. it doesn't mean only children use '하얀' but just the nuance.