After using both now for some time, my preference is actually NiCD (battery size AAA-D).
The self discharge rate is much lower than NiMH, they seem to charge more easily using solar, although I do realize that is in part some to the lower mah rating. I also wonder if some of the mah rating for NiMH is slighty "exaggerated"?
An example would be my radio, generally operates very close to 12+ hrs a day, rated at 1 watt (4.5v input), in reality it consumes greatly less. A 2.88w pack (4.8v at 600mah NiCD) lasts about 9-10 hrs. I have ran some cheapie Powerizer 2500mah NiMH batteries (4.8v at 2500mah) and show a voltage of generally 1.21v to 1.23v after usage. (12w)
I used the radio the last couple nights (at least 12 hrs) via some 1000mah NiCD batteries (4.8w), although they are new which I am sure has alot of effect on retaining voltage, they are running about 1.17+ or so volt after usage. (4.8w)
What is your preference and why?