The spelling of many English words may be confusing and inconsistent, but it could be a lot worse. Before influences like dictionaries and printing served to produce unified spelling, words were spelled however writers thought they should be spelled. Thus, at sometimes appeared as att, be as bee, at as atte and not as nott. We can be glad, at least, that when spelling became more consistent, it was not those odd spellings that were adopted, at least not in most cases.
So why, you might wonder, did we get so many words with silent letters, words like knee and know? One possibility is that, at one time, those letters, now silent, were actually pronounced. The word knight, with all those extra letters, is believed to have once been pronounced with each letter enunciated. Over time it became a one-syllable word, while the spelling remained unchanged.
Those silent letters, while confusing to writers, make things easier for readers. We can tell at a glance the difference between knight and night, know and no and kneed and need (not to mention knead).