If you're even the most casual Game of Thrones fan, the one theory you probably can't avoid is R+L=J. It stands for Rhaegar+Lyanna=Jon and, in Season 6, it was proven true. R+L=J is the short answer to, "Who are Jon Snow's parents?" But to really understand the significance of R+L=J, you have to dig a little deeper. First, let's break down who Jon's mom and dad actually are:
Jon's biological father is Rhaegar Targaryen, the oldest son of Aerys II, AKA The Mad King. Aerys was the last Targaryen to sit on the Iron Throne, and was overthrown by Robert Baratheon with the help of the Lannisters. Daenerys and her horrible brother Viserys are Rhaegar's younger siblings, which is why Dany feels like the Iron Throne is her birth right.
So, Rhaegar Targaryen = Son of the Mad King, oldest brother of the Mother of Dragons.
Lyanna Stark was Ned Stark's only sister. As far as we know, she was beautiful, smart, spunky, and all around amazing. She was also betrothed to Robert Baratheon, but caught the eye of Rhaegar Targaryen at a tournament, prompting him to ride past his wife and crown Lyanna with blue roses after he won. This was scandalous because Rhaegar was married with children, and because Lyanna was spoken for—at least as far as the medieval White Dudes in Charge were concerned.
There's a third person we should really mention when talking about Jon Snow's parentage and that person is, of course, Ned Stark. Jon grew up believing that Ned was his father, and that he was the result of an affair Ned had during Robert's Rebellion. Even though that was the official story for years, fans long suspected that honorable Ned couldn't possibly have stepped out on Catelyn, thus the R+L=J theory. This theory was confirmed in Season 6 thanks to Bran's creepy Three-Eyed Raven vision quest back to the day Lyanna died—which happened to be the day she gave birth to Jon.
Why the ~mystery~ and lies?
Lyanna's dying wish was that Ned keep the baby safe, and the only way to do that was for Ned to claim it as his own, fabricating a wartime affair with a random woman. But why would Ned have to create an elaborate lie and pretend to have had an affair just to keep Jon safe? Because Rhaegar was Aerys' oldest son, and therefore the next in line for the throne. Thanks to the rules of royal succession, any legitimate child he had would be next in line, ahead of his siblings.
"But wait," you say, "Rhaegar did have two legitimate children, with his wife—you said so before." That's true. Rhaegar did have two 100% legitimate heirs with his wife, Elia Martell of Dorne. When Robert Baratheon seized power, however, Elia and her children were murdered by The Mountain.
Remember: Any living Targaryen would be a threat to Robert's reign. That's why he had Rhaegar's known children killed, and why Daenerys and Viserys were smuggled away. Even though Ned and Robert were friends, and even though Robert was, by all accounts, genuinely in love with Lyanna, he still would have had her half-Targaryen son put to death if he'd known he existed.
And while we're talking about Rhaegar's legitimate children, it's worth noting that there's still some question as to whether or not Jon was legitimate. Rhaegar kidnapped Lyanna and hid her away before returning to King's Landing to try to reclaim his throne from Robert. It's unclear, however, if she went with him willingly or not. Some fans are convinced that she and Rhaegar were in love and wed in secret. If they did, then Jon wouldn't be a bastard after all and his claim to the Iron Throne would be stronger than Dany's.
So there you have it: The truth behind Jon Snow's parents and why they were ever a secret in the first place.