Søren Wichmann in Aeon:
Simple questions often yield complex answers. For instance: what is the difference between a language and a dialect? If you ask this of a linguist, get comfortable. Despite the simplicity of the query, there are a lot of possible answers.
The distinction might depend on one’s point of view. From a political perspective, a language is simply that which is standardly spoken by a nation. From about 1850 to 1992, for instance, there was a language known as Serbo-Croatian, which had several dialects including Serbian, Croatian and Bosnian. But since Yugoslavia dissolved into several independent countries in the mid-1990s, those dialects have come to be recognised as distinct languages. This political definition works to some extent, though it poses more problems than solutions: there are languages that extend across different countries, notably Spanish in Latin America. Nobody would claim that Mexican Spanish and Colombian Spanish are different languages. Perhaps Spanish as spoken in some parts of Spain is different enough from the Latin American varieties that it deserves to be called a separate language, but that isn’t clear.
Perhaps the distinction between language and dialect can be made in terms of mutual intelligibility? Unfortunately, there are immediate problems with this approach. A Dane will understand Swedish somewhat better than a Swede will understand Danish. Similarly, someone speaking a peculiar, rural dialect of British English will understand an American from Los Angeles far better than the other way around. Mutual intelligibility often depends on exposure, a fairly uncontrollable variable, rather than anything intrinsic to language.
More here.