A cocktail dress is usually a short - ie mid calf or knee length - dressy dress. Can be as simple as an LBD (little black dress) or lace or even a brocade or sequinned fabric.
An evening dress is usually floor length - or you could get away with a very dressy cocktail dress.
A ball gown is long, more extravagant than an evening dress and only usually worn for balls or very special, very dressy occasions.
Cocktail dress � as your �little black dress� semi-formal for fun and frolics!
Evening dress � slightly more formal and classy, usually long and sleek to the body, probably more at home on the red carpet at the Oscars.
Ball gown � most formal, think bridesmaid etc. Often as said - a bodice, with a skirt that hoops out, and worn with a stole or similar. Usually only for the most formal occasions or balls.