What is the difference between a dialect and a language?
Linguistically, there is no rigorous distinction. The common quip, usually attributed to Max Weinreich, is that "a language is a dialect with an army and a navy" — which is flippant but captures the real answer: the boundary is political, not linguistic.
The criterion people reach for first is mutual intelligibility — if speakers understand each other, same language; if not, different languages. It fails immediately in both directions.
Cases where it fails:
Norwegian, Swedish and Danish are largely mutually intelligible and are called separate languages, because they belong to separate nation states.
Chinese "dialects" such as Mandarin and Cantonese are not mutually intelligible at all — a Mandarin speaker cannot understand spoken Cantonese — and are conventionally called dialects, because they are spoken within one state and share a written tradition.
Serbian, Croatian and Bosnian are close to identical and were once officially one language; political separation produced three.
Intelligibility is often asymmetric. Portuguese speakers typically understand Spanish better than the reverse.
Dialect continua break the concept entirely. Across a stretch of territory, each village understands its neighbours, but the two ends cannot understand each other. There is no point at which one language becomes another.
What linguists actually use. The neutral term is variety, covering any distinct form without ranking it. A standard variety is simply the one that acquired institutional backing — schooling, publishing, government — usually because it was spoken by the powerful, not because it was clearer or more logical.
Why this matters beyond terminology: calling something a dialect frequently carries the implication that it is a degraded version of a real language. Linguistically it is not. Every variety has a consistent grammar, and the ones stigmatised as incorrect are rule-governed in exactly the same way.
Accent is different again — pronunciation only, not vocabulary or grammar.