Skjønne < Old Norse skynja "to perceive"
Forstå < Middle German vorstan "to understand, comprehend"
Thus, as Deliciae said, forstå works better for understanding someone while either could work for understanding something.
what's the difference between 'jeg skjønner' and jeg forstår'? Or are they synonyms...?
They are synonyms in sentences that deal with understanding something.
If you're talking about understanding someone, and meaning to impart a sense of sympathy or camaraderie, then 'forstå' is the better choice.
"I know why" = "jeg vet hvorfor"
A better translation would be "I understand why".