Came across this in-depth reading, thought I'd share it...
A lot is known and discussed about this great man, who fought a great long internal battle, while the world around mostly fought an external one.
It is the 17th day of the Kurukshetra War. Arjuna has pierced the last of the arrows into Karna's armour and is near Karna's chariot, when a wailing Kunti reveals to the Pandavas, the true identity of Karna. An incensed Yudhishthira curses womankind that they can never hold a secret ever. At this juncture, Arjuna cries aloud and blames himself for being singularly responsible for his own brother's death. At this, the all knowing Lord Krishna laughs and takes a jibe at Arjuna saying, "Why do you take responsibility for killing a dead serpent, which has already been killed by 6 curses"? Saying this, the Lord explains the 6 reasons why Karna met such a cruel fate.
1) The Teacher's Curse - Karna, after being turned down by Drona, approaches Parashurama to learn the Divya Astras, however, as a Brahman. On the final day of the lessons from Parashurama, Karna unflinchingly bears a scorpion (or bee - which was Lord Indra in disguise) bite, when Parashurama is resting upon his lap. A bewildered Parashurama realizes that Karna can be none but a Warrior and curses Karna that he will forget the knowledge of the weapons, especially the Brahmastra, when he needs them the most. Karna accepts that he is not a Brahman, but is unable to understand why he is regarded a Warrior by the great teacher.
2) A Brahman's Curse - Karna, once when practicing the Shabdbhedi Arrow, mistook a Cow for a wild animal and shoots it down. The Brahman to whom the cow belongs is distraught and curses Karna that he will be killed by his enemy when his attention is diverted, when is not in combat. This curse materializes when Karna is busy removing the chariot wheel from the mud and is shot by Arjuna.
3) Mother Earth's Curse - Karna once helped a little girl who had split Milk (or Ghee) on the ground and feared retribution from her mother. A kind Karna helped the girl retrieve the Milk by squeezing and twisting the ground; in essence, Mother Earth herself. So unbearable was the pain, that Mother Earth cursed Karna that she would be of no assistance to him whatsoever and will even try to make him vulnerable in battle. This resulted in the untimely incident of Karna's Chariot Wheel getting stuck in mud during his battle with Arjuna.
4) A Father's Request - Among the many adjectives applied to Karna, Daanveer (Generous) is the most common and apt of all. Lord Indra, with an intent to protect his son Arjuna and render his son's opponent weak, assumes the form of a Brahman and approaches Karna, who is performing his morning ablutions and prayers. Never to turn any request down, Karna is asked by the Brahman to give his Kavacha and Kundalas (Armour & Earrings). This he unhesitatingly gives to the Brahman, who he knows is Indra (as forewarned by Karna's father, Surya). Indra is overwhelmed by Karna's gratitude and offers him a boon against which Karna earns the Indra's most powerful weapon - Shakti - which he eventually uses against Bhima's son Ghatokghaj.
5) A Mother's Dilemma I - Through Lord Krishna, Karna is already aware of his lineage as a Pandava and hence a Royalty. However, only late into his sole conversation with Kunti, does he realize that he is speaking to his own mother. Kunti requests him to join the Pandavas, which he refuses owing to the debt which he has to repay to Duryodhana. However, he promises to his mother, that he would attempt to kill none of the Pandavas except Arjuna. In the battle, on several occasions, despite defeating all his other brothers, Karna doesn't kill them.
6) A Mother's Dilemma II - Karna also promises to his mother that the commonly known count of Pandavas, which is 5, would not change at the end of the battle. This and the above implied that either he or Arjuna would perish at the end of the battle. He also promises to her that he will use the Nagastra only ONCE on Arjuna.
Apart from the above, King Shalya of the Madra Kingdom has an important role to play in Karna's defeat. Though the charioteer of Karna (as per Duryodhana's plan), Shalya is the uncle of the Pandavas and hence decides to help them in whichever way possible. On the 17th day of the battle, as Karna's charioteer, Shalya demoralizes Karna by praising Arjuna in glorious terms. More importantly, when the wheel gets stuck, he does not assist Karna, claiming that his job doesn't require him to lift the chariot and leaves Karna alone with the Chariot.
Fateful Karan, when he entered the battlefield he had King Shalya as his charioteer (Shalya was yet another ploy in Karan's cruel fate)... and on the other hand Arjun had Lord Krishna as his charioteer ... nothing more to say just such a contrast makes one wonder that maybe Karan was indeed the best warrior ... so many things had to go against him for him to be defeated!!