Largely songs are performed by the male of the species, usually from an elevated place within thier breeding area - so that their voice can travel far to attract a mate. There are also some species where the female also sings, such as; tawny owls and robins.
Whats the difference between songs and calls? Typically songs are long and complex and calls are usually shorter and more simple. Birds have a special voice box at the bottom of their windpipe, called the Syrinx, this is where their songs come from. Two sets of membranes and muscles where the windpipe branches into the lungs vibrate at high frequencies as air is exhaled. Amazingly, while singing, a bird can alternate exhaling between its two lungs and thereby sing in harmony with itself.
Birds learn songs, they do not inherit them. It only takes a couple of months for fledglings to learn a subsong which develops into a fully fledged adult song when they reach breeding maturity - this can take about a year. Because songs are learned, this explains why songs vary so much between species and location.