“Leben”, aside from it’s general meaning of “to be alive” describes a more permanent existence in a place and is the main word to use if explaining or asking about how long, with whom or how well.
If, for example, you live in a country but you stay in different cities within that country, you would say “Ich lebe in [country name].” This word carries with it a sense of completeness (“I live my life”).
“Wohnen” is best translated as “to reside” (and sometimes “to stay”) and is often used to describe a somewhat more temporary situation.
“I am living in” as opposed to “I live in."
It is common to use “wohnen” when giving someone your street address.
Note that this word can only be applied to humans.
But, as so often happens, in reality there is a great amount of overlap and interchangeability with “leben” and “wohnen”.