I started off by posting a series of comments scattered all over the page, but I thought I should sum them up in a standalone answer.
Generally speaking, there have been similar shifts in many other languages. And they are even happening right now as we speak.
But first things first. Since you mentioned Slavic languages, as the most obvious example, in Old Church Slavonic, an o was an o. In contemporary Russian, it can be anything from a schwa to an ʌ to an ɔ, depending on the position relative to the stressed syllable (e.g. молоко, milk, /məɫɐˈko/ or /məlʌˈkɔ/; водоворот, swirl, /vədəvʌˈro̞t/). Also, in Old Church Slavonic, there were a number of nasal sounds, which are absent in pretty much all contemporary Slavic languages with the notable exception of Polish.
Secondly, don't get me started on German. If you don't know how to correctly pronounce Soest, Troisdorf, Huonker, Pankow, Laermann, Hueck, you will pronounce them wrong. It happens to native German speakers all the time.
Speaking of Germanic languages, the most notable vowel shifts happened in German and Dutch (Wikipedia even mentions them in the article on the Great Vowel Shift). It's just that there was at least some concerted effort to keep the spelling consistent with the (changing) pronunciation. The pronunciation shifts were accompanied by spelling shifts, if you will. Hence the popular but wrong assumption that there weren't pronunciation shifts to begin with.
In other words, what made the pronunciation stray so far from spelling in English was not the Great Vowel Shift; it was the absence of the accompanying Great Spelling Update.
Now, it's always a bit harder to explain the absence of something rather than its presence, though one of the other answers does provide an interesting link. On a more general note, I will say that spelling reforms are the domain of politicians, one of the most prominent and recent examples being the German orthography reform of 1996, kicked off by the Conference of Ministers of Culture and later monitored by the International Commission for German Orthography. English, however, traditionally lacks such regulatory bodies.
Anyhow, vowel shifts happen all the time, especially on the dialect level. Now that I have zeroed in on German, I'll just take Bavarian as an example. In Bavarian, viel is not pronounced as /fiːl/ and ein Haufen is not pronounced /aɪ̯n ˈhaʊ̯fm̩/. But again, there is some effort to keep the spelling consistent with the pronunciation, so if you came up with the crazy idea to write a Wikipedia in Bavarian, you would spell viel as vui, vei, vii or fui, and ein Haufen as a Haufa, to reflect the actual pronunciation. And there are also Wikipedias in Ripuarian, Plattdeutsch, Alemannic... It's hard to imagine, say, standalone Australian, Canadian or Texan Wikipedias where the spelling mirrors the local dialect in such a manner.
I guess I can sum these ramblings up as follows: vowel shifts happen all the time. Spelling conventions are a question of politics and culture.
It's not causal at all. Spelling does not cause pronunciation. The reverse can occasionally occur, but not often, and certainly not regularly.
Some facts:
Modern English spelling has very little to do with Modern English pronunciation.
Don't expect it to.
Modern English (ca 1600 - pres) doesn't have distinct long and short vowels.
Middle English (ca 1200 - 1600) did have distinct long and short vowels.
The Great Vowel Shift occurred between Middle and Modern English.
The Great Vowel Shift applied only to Middle English long vowels.
The Great Vowel Shift changed long vowels to other vowels in Modern English.
English spelling was fixed before the Great Vowel Shift, and before final E's went silent.
The result is that the pronunciation of an English word cannot be determined from its spelling.
Sorry about that, but if you invest in a copy of Kenyon and Knott, you can look it up.
Best Answer
To elaborate on the comment, letters are never pronounced. Much rather, it is sounds that are written down. But even that is not entirely true, as written language encodes more than just sound, but also things like etymology, or inflection, that need not be reflected in the pronunciation.
In other words, spoken language is primary; spelling is always an approximation and a compromise.
As a consequence, there is no way to reliably determine pronunciation from spelling. And not just in English using the Latin alphabet, mind you, but in every natural language using whatever writing system.
And don't forget that there are different dialects, too. So there simply is no correct pronunciation of Mary, much less maelstrom. You have to go with what people around you say. And that is not, and cannot be, reflected in the one single spelling.
A sound can correspond to any number of different spellings, and a letter can correspond to any number of sounds. There is no "rule that determines which letter is silent", because all letters are silent by definition. If you want to learn the spoken language, you will have to learn the spoken language. And if you want to learn the currently accepted spelling of a given word, you will have to learn it by heart — just like everybody else, every native speaker, of every language ever.