While Rishimishra's definitions are correct, they don't answer your question properly. Btw, in his second answer, to be more clear, I would refer to the situation as an experience.
So, depending on the context, both of these ARE correct and they can both mean that this is an action that started in the past and is still continuing. The biggest difference between these two is that "have been living" suggests that they will continue living here. It's because you are using "for" in your first tense (present perfect), that these two have the same meaning. If you only said "They have lived in London", it is possible that they still live there, but we don't know for sure. With the continuouse tense, we know they still live there.
And to properly confuse you, here's a slightly advanced tip: by using the second tense (present perfect continuous) it sounds like you are implying that this is a temporary situation: they are living in London now but for example they will move somewhere else when his contract expires in two years.