As they say: a language is a dialect with an army and a navy. And even that criterium quickly breaks down at mild scrutiny. And not just because of landlocked countries.
Linguists try to draw some lines in the sand, but in the end the reasons we call Swiss German a dialect and Luxemburgish a language are cultural and political.