Because english and a lot of other languages have just stopped changing their spelling to reflect speech, this is useful because it means you can read older texts and you have a fairly standard system of spellings so people don't get confused, but it means you're left with spellings that you just have to treat more like how chinese works, where it represents a concept but has absolutely nothing to say about how it's pronounced.
A lot of words in english look fucked because they're straight up from like 300 years ago.
Take "knight" for example: it used to be pronounced like it's spelled, /k-nei-ch-t/, and you can see how cousins like german and swedish have kept this pronunciation in Knecht and Knekt (although now meaning completely different things).
You can also see why we tend to have this standard unchanging writing if you compare to people who write in dialect, where it can become as incomprehensible as the spoken dialect.
Example from Terry Pratchett’s The Wee Free Men:
“Crivens! It’s a’ verra well sayin’ ‘find the hag,’ but what should we be lookin’ for, can ye tell me that? All these bigjobs look just the same tae me!”
Gone, have, live, love, come, etc are all super common exceptions to the "rule."
English is a complete mess. The inconsistencies create a massive and unfair burden for people to learn it as a 2nd language and then the language is so difficult to master that it forces people to keep relearning it throughout their entire life which doesn't leave much room for learning other languages.
You can thank french colonialism for that. Old English (Ænglisc) was a more phonetical language, but then the french took over (colonized) Ængland they forced Ænglisc to adopt countless french words, french spellings and even some french grammar with little to no regard for the phonetical consistency with the rest of the language.