Suppose language A and language B belong to the same language family. And suppose the speakers of language A understand language B a lot better than the speakers of language B understand language A. How can linguists explain this phenomenon?
The previous answers gave a lot of possible factors, including external ones. I'll give a single example where it clearly has a lot to do with quirks of the harder-understandable language: Danish.
The Scandinavian languages Swedish, Danish and Norwegian† are very similar, so that speakers of any of them can read the written forms of all the others with little effort. For the same reason, Danish and Norwegian people can also understand spoken Swedish without much trouble.
The Danish language however has undergone some pretty strong phonetical mangling, which makes it much more challenging for Norwegians and Swedes to understand spoken Danish. Many syllables that are shared in the written languages aren't directly spoken at all in Danish, but only surface via subtle changes in e.g. the preceding vowel, which makes Danish sound to the others like the speaker is mumbling and constantly clearing their throat. It's something often joked about:
“Danish is not a language but a throat condition”,
“How do you speak Danish? –Just put a hot potato in your mouth and speak Swedish”,
or in this Norwegian comedy programme:
Of course, Danes have lots of training in understanding their spoken language despite all that, but this doesn't prevent them from also understanding Swedish with its more directly writing-mapped phonology. But Swedish speakers have much more difficulty reconstructing the omitted syllables in spoken Danish.
More detailed discussion in Gooskens et al: Explaining Danish-Swedish asymmetric word intelligibility - An error analysis (from Phonetics in Europe: Perception and Production).
†Norwegian actually has its own difficulties, mostly because there isn't really such a thing as Norwegian language – almost everybody speaks some strong local dialect. It is urban Eastern Norwegian / Bokmål which is easy for Danes and Swedes, but some western and northern dialects differ from Bokmål more strongly than it does from Swedish. There is even a separate written form of Norwegian, Nynorsk, which is the official form in many western municipalities and represents these dialects better.
There are a lot of things factoring in here, the following list is by no means exhaustive
- exposure to the other language: this is often asymmetric between the languages A and B, and more exposure means better intelligibility
- Relative entropy: The distance between two languages measured by Kullback-Leibler divergence between suitable language models is asymmetric, so more additional information is needed in one direction than the other
- Phonological differences: One of the languages may have a subtle phonemic contrast that the other language lacks, and native speakers of the other language miss some important distinction, reducing the mutual intelligibility
- Generally, the existence of any "quirks" (like special grammatical constructions in morphology or syntax) reduces the mutual intelligibility.
Linguists would start with comparing social status of the languages. For example, there is a massive comprehensive asymmetry between Cantonese and Mandarin: more Cantonese speakers understand Mandarin better that Mandarin speakers understand Cantonese. That's because Mandarin has a privileged position in China as "the national language", which Cantonese speakers therefore probably know as well. You would then want to only consider monolingual / monodialectal speakers of A and B, but that is not a highly reliable demographic (you have to devise a good test to objectively assess knowledge of language that is less than fluent).
Cultural bias can also influence reported comprehension, that is, a speaker of A might actually understand B better than reported, but that could conflict with social requirements in A society to not "validate" B society: or, A and B may differ in the extent to which it is allowed to "guess" at what someone said.
A quasi-social factor is lexical familiarity owing to loanwords. Language A may have replaced a substantial portion of the original vocabulary with items from a language C (perhaps English or Arabic) which speakers of B also know, which gives B-speakers a comprehension advantage (A speakers no long know the old word for "hippo" which B-speakers still use).
To me, this sounds like diglossia.
Suppose the speakers of language A understand language B a lot better than the speakers of language B understand language A.
Both of these forms of Arabic are media languages, Standard Arabic is the norm in literature and Egyptian Arabic is especially common in Egyptian cinematography. But as you can imagine, Standard Arabic is recognisable outside of Egypt from Morocco to Iraq. Whereas the Egyptian form of the language is limited to Egypt and people who watch Egyptian films.
Diglossia is not often brought up in my linguistic circles, because it is usually treated as a sociopolitical matter. It can occur outside of established language families. Another less obvious case of diglossia is Singlish (Language A) and English (Language B) in Singapore. Singlish is a creole amalgamating Hokkien, Malay and English; and it is definitely spoken. But it is by no means a media language, because of government policy and intellectual opinion to adhere to a more conservative form of English. So many people (linguists included) will reduce Singlish to "informal English" in their analyses.
In diglossia, the asymmetry in intelligibility has more to do with the functional usage of language among speakers A and B. Diglossia is not due to the fact that f.x. Persian (Language B) has a more extant vocabulary than Kurdish (Language A). Rather, an ethnic Kurd (Speaker A) might find themselves switching languages to fulfil separate functions.
Speaker A might find themselves using Persian in their studies at school but speaking Kurdish among their family. Speaker A has thus learned to do math in Language B, and has learned their family and kinship terms primarily in Language A. If now we bring in a monolingual, Iranian from Tehran (Speaker B) they will have grown up using only Persian in all domains of life.
When employing language for shared functions, Speaker A and B should not expect any problem. So Speaker A can check B's homework, and vice versa. But when language is employed for a function where the two would use different languages, that is where the asymmetry becomes apparent. If the Iranian speaker tells the Kurd that he will visit his "padar", the Kurd will immediately understand "father". But if the Kurd were to say that she will visit her "bav", now their Iranian friend will be confused. Thus we find that Speaker A and B seem to have an asymmetrical levels of intelligibility.
Many social scientists interpret this as being due to language B holding a prestige over language A, i.e. a kind of superiority. I prefer to think a bit differently, because on the other hand speaker A adapts by extending their own vocabulary and language rules to encapsulate both languages A and B (to a limited extent). So really, it's more a trade-off between understandability and having more ways to express oneself.