An excerpt from an article about those silent letters in English ... from the Courant:

Other silent letters reflect attempts to stuff the mish-mash of English into the orderly compartments of Latin.

During the 1500s, for instance, scholars decided it would be a great idea to alter the spelling of English words to reflect their Latin origins. Because "dette" and "douten," for instance, were derived from the Latin words "debitum" and "dubitare," respectively, these self-styled reformers inserted a silent "b" to create "debt" and "doubt."

(The process misfired when they added a silent "s" to "iland." They assumed "iland" had come from the Latin "insula," when in fact it's of Old English origin. But we're still stuck with the "s.")

Other silent letters immigrated on tiptoes into English from foreign languages. Many of the silent "p" words, for instance, were adopted from Greek: "pneumonia," "psalm," "pterodactyl."

... the whole thing.