What's the difference between a language and a dialect? Spoilers: Linguists don't know. Or better said, there is no precise threshold a dialect crosses into becoming a language. One common method is to define accents as phonological, lexical, and suprasegmental variation, dialects as accents + grammatical variation, a languages as dialects + unintelligibility. Put another way, two dialects become separate languages when their speakers can no longer communicate effectively with one another.
The trick is that the intelligibility threshold is a poor definition of divergence: it's painfully subjective and, not to mention, drastic phonological changes can make two accents unintelligible despite having preserved the same grammar. Intelligibility can be asymmetric. A Brazilian Portuguese speaker tends to understand Latin American Spanish more comprehensively than a Latin American Spanish speaker understands of Brazilian Portuguese - and much of the divide has to do with the phonology.
The most popular attempt to apply a rigorous definition to language/dialect revolves around Bell's Seven Criteria (Bell 1976). They are:
- Standardization of the language
- Vitality (must have had living native speakers)
- Historicity (people found their identity upon the tongue)
- Autonomy (native speakers perceive themselves as speaking a different language, as opposed to dialect, which to me sound like circular logic)
- Mixture (not a pidgin or creole)
- Normativity (there is "bad" vs. "good" speech)
Bell's Criteria is imperfect. It's not an objective measure so it will always be contingent upon sentiment, rather than fact. Still, it's better than nothing so a lot of linguists utilize the Criteria.
Unfortunately in the political sphere, everyone is a linguist...
People love to impose their own definitions of "languages" and "dialects" willy-nilly for political or cultural reasons. The Soviet Union arbitrarily declared the Moldovan dialect a distinct language from Romania in order to partition the country for effective rule, despite Moldovan having virtually no difference from Romanian. Basque is almost certainly at least two languages - Bizkaian and Zuberoan "dialects" are extremely divergent from each other - and possibly more, depending on how you want to cut the pie, but the desire to appear as a unified people makes the linguist's definition unpopular. In some countries (India and China), the politics behind languages and dialects is a nightmare.