The sibling comments are good answers. Another factor is the fact that written English goes back a long time. In some cases, pronunciation has drifted over time, but the spelling didn't change. The silent k's in words like knight and knife were not always silent, for example, but you have to go back to old English for them to be pronounced.
nayuki|7 months ago
em-bee|7 months ago