My suggestion to those learning Arabic is to understand three valuable distinctions:
Classical Arabic refers to the preserved Arabic of the Middle Ages that has since evolved and has broken into the hundreds of dialects we see today. It is equivalent to what we call “Old English” or “Biblical Greek”.
Modern Standard Arabic refers to the modernized but revamped Classical Arabic that includes several modern terms added to the language. Prior to the formation of the Arab league, speaking Classical was only seen in Academic or Formal circles, no common man spoke this. This was made in an attempt to standardize and homogenize the hundreds of dialects out there.
Spoken Arabic I would say is the true Modern Arabic, which can be seen in the hundreds of Dialects out there and is the succession of centuries of Arabic being spoken and influenced by several civilizations that surrounded it.
When learning the language, you have to understand that there is a major distinction between Spoken Modern Arabic and Classical/Modern Standard Arabic. The reason you don’t see this form of diglossia in other languages is because most Modern languages have standardized and formalized the use of their evolved language.
Think of it this way:
Imagine if every time you spoke English, you had to speak it a different way for people in English speaking countries to understand it a different way from the one they speak locally and anytime you had to write a letter, an email, or post anything online you had to write it in Shakespearean English, without using a word or phrase from the language you speak everyday. That’s the Arabic language in a nutshell.