NiMH and Li-Ion batteries do not contain cadmium, but their electrodes (by design) are irreversibly corroded by the electrolite, dramatically increasing the output resistance over time.
This means that these batteries have a known limited lifespan and a constant performance degradation with time that starts just after manufacturing, no matter how they are used. After a certain period of time they become useless, even if they were not used at all (between 1 and 2 years). Most people throw these batteries to the ordinary thrash can, so they represent no ecologic improvement at all over NiCd.
They only have a single advantage over NiCd: the absence of memmory effect. But they have lots of disadvantages: Higher prices, very limited life, charge current limited to 1C (6C for NiCd), much higher voltage drop for a given current as they discharge, etc...
On the other hand, NiCd batteries are free of such internal degradation phenomena. Theoretically, with correct use they show almost unlimited lifespan. Furthermore, the capacicy loss due to the so called 'memmory effect' is fully recoverable by repeated full charge-discharge cycles.
I would never use NiMh or Li-Ion batteries. They were introduced in the market as an exotic thing just because manufacturers wanted to sell more and more batteries but NiCd units lasted too long and it was posible to DIY recycle them.
As an alternative I recommend lead acid batteries, these also show almost unlimited lifespan when used correctly. Furthermore, their sulfation process is reversible by electronic means, so they may be recycled again and again. You may even get some old and sulfated SLA batteries for free, recycle them and use them.
I'm just recycling two 6V 10Ah SLAs now. They were very sulfated and discarded from a boat. Despite they are 8 years old, they are progressively recovering their capacity.
Remember that no recycling process exists for NiMh nor for Li-Ion batteries,. After one or two years of use or storage these batteries become just unusable toxic chemical waste. Allways ask for manufacturing date before buying them.