Why were devas born on earth as major Mahabharat characters such as Pandavas, Karna, Krishna, Balram, Bhishma, Abhimanyu, Upapandavas in the first place? Why did gods incarnate on earth?
TL;DR, the answer is
- To ease the Earth of her burden :- for the destruction of the Asuras and for the welfare of the three worlds
Unable to bear the burden of Asuras' incarnations, the goddess of the Earth went to Lord Brahma and the Lord ordered all the devas to incarnate:
And the Creator then commanded all the gods saying, 'To ease the Earth of her burden, go ye and have your births in her according to your respective parts and seek ye strife (with the Asuras already born there)'. ~ Shambhava Parva
Then Indra and other gods requested to Lord Vishnu
Him, Indra the most exalted of persons, addressed, saying, "Be incarnate." And Hari replied,--'Let it be.'" ~ Shambhava Parva
"Vaisampayana said, 'Then Indra had a consultation with Narayana about the latter's descent on the earth from heaven with all the gods according to their respective parts. And, having commanded all the dwellers in heaven, Indra returned from the abode of Narayana. And the dwellers in heaven gradually became incarnate on earth for the destruction of the Asuras and for the welfare of the three worlds. ~ Shambhava Parva
Who incarnated as whom is described in What were the previous births of the characters of Mahabharata? post.