Why do such words as hour and honest have a silent h?
H is silent in many English words, for various reasons. Sometimes it is because of the word's derivation (e.g. messiah from Hebrew or rhapsody from Greek); sometimes it is as a result of elision (e.g. shepherd, exhaust). The words hour and honest come from French, and in these cases English took over the French pronunciation as well as the word. Not all such words that have come into English from French still have a silent h, however. Over the centuries we have come to pronounce the h in words like horrible, hospital, host, human, and humour.