Your assumption is correct. Natural languages are extremely redundant and compressible in sound as well as in orthography, and this has significant and obvious benefits: you can understand obscured speech, read obscured text, and, yes, get the sense of a word based on a quick visual hook rather than relying on a purely phonetic transcription.
English orthography reflects its countless generations of development. The spelling of a word may not correspond perfectly to its pronunciation, but to select a spelling that does correspond to a specific pronunciation naturally excludes some others. I've heard native speakers, for instance, who have different pronunciations for all of "to", "too", and "two".
Further, since the orthography often reflects the etymology, you can often make an educated guess about the meaning of a word you don't know based on the union of its visual and phonological components. If they were collapsed into one, you'd lose that extra information. This is just like how in hanzi there's often a phonetic component as well as a semantic component, and this does carry over somewhat to kanji even though the pronunciation is adapted to Japanese phonology.
These are all reasons why English spelling reform has never caught on, and likely will never do so. It's too widespread, and there are simply too many factors to take into account. Every language has its idiosyncracies, and to see them as flaws or try to fight them is sheer folly.
In general, never trust words in the English language to be phonetic! This is largely a consequence of English being such a fast-evolving language, and importantly, owing its vocabulary to many linguistic sources: Latin, Old French, Anglo-Saxon (a.k.a. Old English), Norse, and many others.
In this case it seems we have French to thank. This etymology is given online, and explains the supposed strange pronunciation:
debt
late 13c., dette, from O.Fr. dete, from L. debitum “thing owed”, neut. pp. of debere “to owe”, originally, “keep something away from someone”, from de- “away” (see de-) + habere “to have” (see habit). Restored spelling after c.1400.
In other words, debt comes via the Old French dete, which itself derives from classical Latin debitum. The b sound got lost due to French phonological rules/convention, and hence the French-origin pronunciation in English. Evidently, after the end of the Middle Ages in the 15th century, there was much revived interest in the classical world, and the spelling reverted to include the original b. Pronunciation, of course, stayed the same.
(Note that this sort of evolution occurred with many different English words, and occurred at the same time many new Latin words entered the English language.)
Best Answer
They did in the really old days, even 2 people sat next to each other spelt things differently (think of young kids learning to write). But in the 17 century they invented dictionaries, but
It was not until Samuel Johnson's A Dictionary of the English Language (1755) that really took off and it became the standard dictionary for 150 years that our (Brits) spelling became standardised.
It is all well and good having regional spellings when the only people to read your work are other locals, but once travel became easier writing also had to travel.
My husband would spell my pronunciation of the word bath as Barugh, as he is northern and I am southern.
But that makes written communication completely unfeasible, so we had to standardise.
A wiki link on dictionaries
As mentioned in a comment printed books also had the same effect, a very popular printed item could change/standardise the spelling of words
Source - logic and hundreds of hours of watching documentaries on social history