In a nutshell - there's not much difference really and which one you choose depends on your skin and its needs. If it needs moisturising, the only thing that really moisturises the skin is WATER or hydrosols whereas oils and buters lubricate and soften and prevent moisture loss by forming a barrier on the skin.
A body butter combines liquid fats (oils) and solid fats (butters such as cocoa or shea nut butter) and often a wax. Usually it contains no water and because it is thicker and harder, it takes longer to absorb - sometimes leaving a slightly oily feel.
A balm is similar to a body butter - may not contain a butter or water but is made with infused vegetable oils. It usually contains some soothing essential oils.
Both lotions and creams are made with oils and water but lotions have a higher percentage of water, feels lighter on the skin and thefefore is more readily absorbed. They both contain emulsifiers to combine the oils and water and may contain a wax. The main difference is the oil to liquid ratio. As the cream has a higher viscosity or is thicker, it prevents more moisture loss than a lotion.
So essentially it is a matter of personal preference - a light moisturizer or a cream for more intensive moisturising or a butter or balm that sooths as well as creates a moisture barrier.
But again, please read the labels and never buy a product containing mineral oil which dries the skin.