From a sociolinguistic point of view, i think the geographical isolation played very important role to make a society speak in different idiolects and dialects. Beside, the colonized countries did have their own dialects in a given language, e.g. Moroccans speak with many dialects under the mother tongue of Arabic Language. In Saudi Arabia, different dialects exist because of the multi tribal system we have in the structure of the population. Those tribes used to live in different geographical regions and , i guess, this is the main reason.
Keep searching for another key information about your interesting questions.
Thanks ,,,,