You're right about the old Ni-Cads - they were problematic. The newer battery technologies are far superior.
I will defend Ni-Cds. If they didn't have such poor energy density they'd continue to be a great option.
Ni-Cds in particular have ridiculous cycle lives(1000-2000 rated cycles is common for high quality cells) and are relatively tolerant of abuse like overcharging. They also age relatively gracefully, and I can show 30+ year old ones that still retain a lot of their initial performance.
There are flooded Ni-Cd type battery, usually used in stationary applications, that can have similar longevity to lead acid.
NiMH effectively replaced Ni-Cd because it can easily manage 1.5x the capacity for a given size/form factor and 3x sometimes isn't a stretch(in AA size, for example, the best NiCds you will likely find is 1000mAh, and you'd be hard pressed to find an AA NiMH smaller than 1600mAh. 2000mAh is common in AA NiMH, and 2400-2800mAh is not unheard of for high performance). It's a lot more sensitive to proper charging and even the best might be rated for 500 cycles with perfect charging. 200-300 is a lot more common. NiMH also, as a whole, tends to have higher internal resistance(not always relevant, but can be) than NiCd and also higher self discharge rates.
Both battery technologies need an occasional deep cycle, and both can have issues with the "memory effect", but that is easily cleared with a deep cycle.
Lithium ion is the king when it comes to energy density both for size and weight(lead acid can come close on size, but is much heavier). It also has much lower self discharge than any of the other common battery technologies save for lead acid(which still comes out on top). Newer batteries are better as far as cycle life, although for a while 300 in even the best was pushing it(some laptop batteries are now rated to 1000 cycles/80% design capacity). Li-ion is a LOT fussier about charging, though, and overcharging can kill cells quickly or even cause fires that are hard to put out. They don't like deep cycling, but are more tolerant of it than lead acid. Really, though, they thrive if they "live" between 20 and 80% charge levels. They are more sensitive to overheating than most other technologies.
There's no perfect battery, although Lithium Ion is a good choice for a lot of portable devices especially where you care about capacity...