English is derived from a bunch of different languages--Old English (a lot like Old High German), Scandanavian, Latin, Norman French, and Greek. Different words come from different languages and kept the spelling of the source language.
Also, VOWELs routinely change--CONSONANTS change MUCH slower.
The reason why English vowels are not pronounced like French, German, Latin, etc., is the Great English Vowel Shift. Individual vowel sounds moved up in the mouth. So letter a pronounced ah became a as in pay, e pronounced like in pay became like pea, etc.
WHEN a word came into English also affects how it is pronounced. Additionally, words that are used a LOT change pronunciation much slower than words that are rarely used.
The reason we don't change to phonetic spelling, like Spanish, is there are substantial regional differences in pronunciation between, for instance, Boston, New York, the Deep South, and Britain. We would wind up with lots of different spellings for the same word.
For instance, I was raised in the New York City area, which we would pronounce Noo Yawk, and port would rhyme with caught--don't pronounce r after certain vowels that are pronounced in the back of the mouth. When I moved to Houston I had to learn to pronounce those r's. (And that even though my undergrad major was languages and linguistics and I spent a year in a PhD program studying those. Linguistics is the SCIENCE of how language works.)