Good question. In English, there are two principal meanings of the verb to know:
1. To be aware of (some thing or some information); to possess knowledge.
2. To be familiar with (someone or some thing).
Well, at least the Dutch have different words for these two, and that's a good thing: weten is most like the first meaning above, and kennen most like the second meaning. I recall kennen by associating it with kinship.
I have observed to date that kennen has always been used with an object (transitive), whereas weten not always (intransitive). For example, the short sentence: Ik weet. Here, it would be incorrect to use ken, as it would be necessary to specify whom or what.
In some transitive cases, the verbs are interchangeable because of the thin line. Sometimes, we both know someone (or thing) and have knowledge about them (or it) -- but usually we mean to communicate one over the other.