English spelling is undeniably chaotic. There is an exception to pretty much every rule. However, while it doesn't follow orderly rules, English spelling does have patterns. I think that learning a little background about how English spelling came to be is both fascinating and helpful.*
There are about 44 phonemes (distinct sounds) in English, depending on the accent. There are only 26 letters. We've dealt with this in a few ways:
Sometimes we make a letter do double duty, the way the e in me and in get make different sounds.
Sometimes we combine two letters to make a sound -- "sh" or "ou" for example.
Sometimes we spelled two sounds in the same way and figured people could guess by context, the way we do with present and past tense "read."
Sometimes we wrote down the prettiest spelling.
Mostly, we just got creative, like young spellers still do, and over time conventions arose from repetition.
This would all have been simple enough if everyone spelling had been working together, but early English scribes and printers working in isolation with no standards and varying influences.
Because many different combinations of letters could be combined to make certain sounds, there were lots of choices about how to spell different words (at least 60 ways to spell "night" have been recorded in Medieval manuscripts), and in each case, different factors prevailed in the conventional spelling that emerged.
French and Latin spelling influenced English words, often against the spelling trends of Anglo-Saxon words. Other times Anglo-Saxon spelling changed the imported French or Latin words. So while we write Old English "pepper" with two p's to show that it has a short vowel sound (same reason why "hop" becomes "hopped" instead of "hoped"), we don't double the consonant in the French-import short-voweled words "leper" or "proper."
Other times, the Anglo-Saxon sense prevailed, giving us doubled consonants in short-voweled French-rooted words like "jolly" and "cabbage" and lots more.
Then there are all the shifts in pronunciation to deal with, not to mention different accents which all use the same spelling. At some point "boot" and "foot," "blood" and "good," all had long vowels. They way they are said has changed, but their spelling hasn't.
And sometimes spellings change to match each other, even when it makes their pronunciation more illogical. We used to say the silent b "dumb." "Thumb" never had a b sound, but we decided it (and a lot of other words) should look like "dumb" so we stuck one on.
Weird as it is, there is a logic to the spelling of most English words, and most words are spelled like at least a few other words, as they follow incomplete and often conflicting principles. This is one reason that learning spelling words in word families is useful. (More about this in a later post.)
*This post is my synthesis of some of what I learned reading David Crystal's book about the history of English spelling Spell It Out. I recommend it to any word-nerds out there.