NiMh: This is by far the most common type of battery used in mobile robots. NiMh batteries are rechargeable and their value (price / capacity / weight) is hard to beat. There is almost no memory effect, meaning every charge should bring the battery up to full capacity.
NiCd: These batteries are slowly disappearing because of their memory effect: if you don’t discharge the battery properly and then recharge it to full capacity, you lose part of the capacity each time.
Alkaline: These are the least expensive batteries in the short term, and provide a higher voltage than NiMh, but are not great for the environment, and you constantly need to buy replacements.
Lead Acid: Still the cheapest option for high capacity, lead acid is usually reserved for medium sized robots because of their incredibly high weight.
LiPo: These are fast becoming the most popular type of battery because of their light weight, high discharge rates and relatively good capacity, except the voltages increase in increments of 3.7V, so you need to plan to use LiPo before selecting your electronics and actuators.
This tutorial has been borrowed from Coleman Benson's post at Robot Shop