The Tower of the Hand has an excellent analysis of this theory:
Jon Snow's Parents
And Westeros' Citadel also provides a summary:
Jon Snow's Parents
A Wiki of Ice and Fire:
Jon Snow Theories
Frequently Asked Questions:
How can Jon be a Targaryen if he has a burned hand?
Targaryens are not immune to fire. Aerion Brightflame died drinking wildfire. Aegon V and his son Duncan are thought to have died in a fire-related event at Summerhall. Rhaenyra was eaten by Aegon II's dragon, presumably roasted by fire before the dragon took a bite. Viserys died when he was crowned with molten gold. Dany suffered burns from the fire pit incident at the end of A Dance with Dragons. Finally, the author has stated outright that Targaryens are not immune to fire. Jon's burned hand does not mean he is ineligible to be part Targaryen. For more information about the myth of Targaryen fire immunity, see this thread.
How can Jon be a Targ if he doesn't have silver hair and purple eyes?
Not all Targaryens had the typical Valyrian look. Alysanne had blue eyes. Baelor Breakspear and his son(s) had the Dornish look. Some of the Great Bastards did not have typical Valyrian features. Jon's own half-sister Rhaenys had her mother's Dornish look.
If Jon isn't Ned's son, then why does he look so much like him?
Much is made over the fact that Arya looks like Lyanna, and Jon looks like Arya. Ned and Lyanna shared similar looks.
How can Jon be half-Targ if he has a direwolf?
Ned's trueborn children are half Stark and half Tully. Being half Tully didn't prevent them from having a direwolf so there is no reason to think being half Targaryen would prevent Jon from having a direwolf. If Lyanna is his mother, then he's still half Stark. Furthermore, there is already a character who is half Targaryen and half blood of the First Men and was a skinchanger: Bloodraven.
Since Rhaegar was already married, wouldn't Jon still be a bastard?
The evidence that Jon is legitimate is that Targaryens have a history of polygamous marriages which makes it a possibility that Rhaegar had two wives. Three Kingsguards were present at the Tower of Joy when Ned arrived. Even after Ned said that Aerys, Rhaegar and Aegon were dead and Viserys had fled to Dragonstone, the Kingsguard opted to stay at the Tower of Joy stating they were obeying their Kingsguard vow. The heart of a Kingsguard's vow is to protect the king. With Aerys, Rhaegar and Aegon dead, the new king would have been Viserys, unless Lyanna's child was legitimate making him the new king of the Targaryen dynasty. For a comprehensive analysis of Jon's legitimacy, see the detailed explanations in the two linked articles.
But polygamy hadn't been practiced in centuries, is it still even legal?
The practice was never made illegal and there may have been some less prominent examples after Maegor, as stated in this SSM. Furthermore, Jorah suggests it to Dany as a viable option.
Weren't the Kingsguard at Tower of Joy on the basis of an order from Aerys, to guard Lyanna as a hostage?
Aerys was sane enough to realize how taking someone hostage works even at the end of the Rebellion, and he would hardly miss the opportunity to bring Ned and Robert in line any time after the situation started to look really serious. Furthermore, regardless of on whose order the Kingsguard might have stayed at Tower of Joy, they would still be in dereliction of their duty to guard the new king.
This theory is too obvious and too many people believe it to be fact. How can it be true?
The theory is not obvious to the majority of readers. Some will get it on first read, most will not. Keep in mind that readers who go to online fan forums, such as this one, represent a very small minority of the A Song of Ice and Fire readership. Also, A Game of Thrones has been out since 1996. That's more than 17 years of readers being able to piece together this mystery.
Why doesn't Ned ever think about Lyanna being Jon's mother?
Ned doesn't think about anyone as being his mother. He says the name 'Wylla' to Robert, but does not actively think that Wylla is the mother. He also doesn't think of Jon as his son. There are numerous mysteries in the series, and Jon's parentage is one of those. If Ned thought about Jon being Lyanna's son, it would not be a mystery.
Why should we care who Jon's parents are? Will Jon care? Who cares if he's legitimate?
Once one accepts that the evidence is conclusive and that Jon's parents are Rhaegar and Lyanna and that he is most probably legitimate, these become the important questions.
“Lyanna + Rhaegar = Jon Thread” (thread one)
“Lyanna + Rhaegar = Jon Thread” (thread two)
“The Lyanna + Rhaegar = Jon thread (Part III)” (thread three)
“The Lyanna + Rhaegar = Jon thread (Part IV)” (thread four)
“The Lyanna + Rhaegar = Jon Thread (Part V)” (thread five)
“The Lyanna + Rhaegar = Jon Thread (Part VI)” (thread six)
“The Rhaegar + Lyanna = Jon Thread Part VII” (thread seven)
“The Rhaegar + Lyanna = Jon thread, Part VIII” (thread eight)
“The Rhaegar + Lyanna = Jon thread, Part IX” (thread nine)
“The Rhaegar + Lyanna =Jon Thread, Part X”(thread ten)
“The R+L=J thread, part XI” (thread eleven)
“The R+L=J thread, part XII” (thread twelve)
“R+L=J Part XXIII” (thread thirteen)
“R+L=J Part XXIV” (thread fourteen)
“R+L=J XXV” (thread fifteen)
“R+L=J v.16” (thread sixteen)
“R+L=J v.17” (thread seventeen)
“R+L=J v.18” (thread eighteen)
“R+L=J v.19” (thread nineteen)
“R+L=J v.20” (thread twenty)
“R+L=J v.21” (thread twenty-one)
“R+L=J v.22” (thread twenty-two)
“R+L=J v.22a” (thread twenty-two (a))
“R+L=J v.23” (thread twenty-three)
“R+L=J v.24” (thread twenty-four)
“R+L=J v.25” (thread twenty-five)
“R+L=J v.26” (thread twenty-six)
“R+L=J v.27” (thread twenty-seven)
“R+L=J v.28” (thread twenty-eight)
“R+L=J v.29” (thread twenty-nine)
“R+L=J v.30” (thread thirty)
“R+L=J v.31” (thread thirty-one)
“R+L=J v.32” (thread thirty-two)
“R+L=J #33” (thread thirty-three)
“R+L=J v.34” (thread thirty-four)
“R+L=J v.35” (thread thirty-five)
“R+L=J v.36” (thread thirty-six)
“R+L=J v.37” (thread thirty-seven)
“R+L=J v.38” (thread thirty-eight)
“R+L=J v.39” (thread thirty-nine)
"R+L=J v.40" (thread forty)
"R+L=J v. 41" (thread forty-one)
"R+L=J v.42" (thread forty-two)
"R+L=J v.43" (thread forty-three)
"R+L=J v.44" (thread forty-four)
"R+L=J v.45" (thread forty-five)
"R+L=J v.46" (thread forty-six)
"R+L=J v.47" (thread forty-seven)
"R+L=J v.48" (thread forty-eight)
"R+L=J v.49" (thread forty-nine)
"R+L=J v.50" (thread fifty)
"R+L=J v.51" (thread fifty-one)
"R+L=J v.52" (thread fifty-two)
"R+L=J v.53" (thread fifty-three)
"R+L=J v.54" (thread fifty=four)
"R+L=J v.55" (thread fifty-five)
"R+L=J v.56" (thread fifty-six)
"R+L=J v.57" (thread fifty-seven)
"R+L=J v 58" (thread fifty-eight)
"R+L=J v 59" (thread fifty-nine)
"R+L=J v 60" (thread sixty)
"R+L=J v 61" (thread sixty-one)
"R+L=J v 62" (thread sixty-two)
"R+L=J v 63" (thread sixty-three)
"R+L=J v 64" (thread sixty four)
"R+L=J v 65" (thread sixty five)
R+L=J v 66 (thread sixty-six)
"R+L=J v 67" (thread sixty-seven)
"R+L=J v 68" (thread sixty-eight)