You’re mostly right about the distinction between having knowledge and being familiar with something. There are, however, some other factors at play here as well.
Most of all, “znać” is a transitive verb, while “wiedzieć” is not. This means that the object of the sentence can follow “znać” directly, but if you were to use “wiedzieć” in its place, you’d generally need a preposition to connect the verb and the object. So if you were dead set on using “wiedzieć” here, you’d have to say “Nikt nie wie o powodzie”—which sounds a bit weird in Polish, but is more or less equivalent to “Nobody knows about the reson”. One exception is the phrase “wiem to”—“I know this”—which technically doesn’t need a preposition, but “wiem o tym” would still be considered a more elegant way to phrase it.
I can think of many contexts where “znać” could be used to talk about knowledge of a subject, or “wiedzieć” to talk about familiarity. Some examples:
Znam ten wiersz na pamięć. (“I know this poem by heart”)
Wiem o jego chorobie. (“I know about his sickness.”)
Wiem, czego szukasz. (“I know what you’re looking for.”)
I guess you could argue about some of them, it’s really not that easy to draw a line between the two meanings.
The last example tells us about yet another context in which you don’t need a preposition after “wiedzieć”: compound sentences. In fact, if you want to form a compound sentence like this, you can only use “wiedzieć”, and not “znać”. Thus, you’ll often hear “wiem, że…” (I know that…), “wiem, co…” (I know what…) or “wiem, gdzie… (I know where…) but you will never ever hear “znam, że…”, “znam, co…” or “znam, gdzie…”.
I know, it’s complicated. I believe similar distinctions exist in some other European languages, including German. Probably the best way to get your head around it would be to look at as many use examples as possible and then try to quiz yourself. It might take a lot of work, but eventually you’ll get it just fine.