E.g. 'flood', 'blood' vs 'good', 'hood', 'foot', 'book' vs 'door', 'floor' vs 'food', 'loose'. All of them had a /o:/ as the vowel, IIRC, but now they have /ʌ/, /ʊ/, /ɔ(:)/ and /u(:)/, respectively. There are also example like 'steak', 'break' vs 'bread', 'dead', though I don't know whether their original vowels were the same.
There are 3 things happening with your examples:
- A phonological split where one phone becomes two in either allophonic or phonemic variation.
- Lexical diffusion; sound changes actually don't often happen with every single word in the language all at once. We can see this from sound changes happening right now, more later with examples and references.
- Different environments.
For #3, for all of the vowels before /ɹ/, look at the phonetic environment. There's your explanation for why floor is [flɔɹ]. In very few dialects of Modern English, is [u:ɹ] even a sequence that is allowed.
In my native dialect of English (Pacific Northwest American English), that segment is only phonotactically allowed if the [ɹ] is its own syllable. So brewer is [bɹu:w(ə)ɹ̩ ].
This is also true for me of [l]. Fool and fuel are definitely two syllables for me:
[fuwəɤ̯ ]~[fuɫ̩ ] and [fjuwəɤ̯ ]~[fjuɫ̩ ]
This is also true for my girlfriend, who speaks Australian English.
So, we can surmise that when */o:/ became /u:/, it then lowered before [_l] and [_ɹ] in most dialects of English.
For phonological splits, those are more tricky. In Southern British dialects of Early Modern English, there was another shift after the Great Vowel Shift called the FOOT~STRUT split.
In Northern England and Scotland, as well as some dialects in Ireland, the vowels in FOOT is the same as the vowel in STRUT and FLOOD. Liverpool speakers would pronounce the vowel in FLOOD, RUN and SUN the same way they pronounce it in HOOD, FOOT, and BOOK.
Here's a map of England where the Isoglosses of this split are, per Wikipedia (this is the vowel for SUN in various British dialects):
As you can infer from my examples, the split affected not only Middle English */o:/ but also Middle English */u:/:
American, Australian, Canadian, and New Zealand varieties of English are all strut~put splitting dialects, because most of the initial settlers of the colonies came from southern and western England after the split.
The split was probably originally phonologically constrained, but then something happened to make it phonemic in many dialects.
2 Lexical Diffusion
Most sound changes start in a set of words, and then spread to more words. This is called Lexical Diffusion, and was described in depth by Kiparsky (1995).
It is pretty obvious from pieces written in Early Modern English, that the Great Vowel Shift did not happen all at once to every word in the lexicon.
In 1582, John Hart wrote his book An Orthographie in which he proposed a spelling reform due to the change in the language in his lifetime.
He designed a phonetic orthography based on his own speech, and spelled the vowel in TIME and BY as <ei>, but the vowel in MIGHT and TITLE as <ị>. It is evident, that the Great Vowel Shift started in a group of words, and then spread to others.
With the back vowels, we see the least-complete shifts. Kiparsky (1995) noted many patterns with the back vowels.
Kiparksy's original explanation for this was that some words have underlying phonological forms, while others are unspecified in the lexicon, and are instead built by analogy.
I personally find that explanation far-fetched, but there are some experimental phonology papers which would support it, I'll get back to those.
Another explanation would be an Exemplar Theory approach, where a speaker produces vowels based on their input. The entire system is analogy, but some more high frequency words might either be more innovative, or more conservative.
There is a bit of evidence supporting the idea that some words are more lexically encoded with phonological information, while others aren't.
In nonsense word vs real word production experiments such as Hay, Drager, and Thomas (2013), speakers often are more conservative with nonsense words than with real words:
Under an exemplar theory approach, we would expect new words to be less innovative than high frequency words because a speaker hears less of them.
Hay, J., Drager, K., & Thomas, B. (2013). Using nonsense words to investigate vowel merger. English Language and Linguistics, 17(02), 241-269.
Kiparsky, P. (1995). The phonological basis of sound change. The handbook of phonological theory, 640, 70.
Wells, J. C. (1982). Accents of English (Vol. 1). Cambridge University Press