How are they similar?
Aspiration = a strong burst of air that accompanies the pronunciation of certain sounds (in English, voiceless stops in onset position in stressed syllables or word-initially). This also occurs with the [h] consonant. In either case, a burst of air is produced.
Silence = no sound at all.
Now, just because a word is spelled with an "h", this does not mean that there is aspiration; whether or not there is aspiration is wholly dependent on the pronunciation. Words such as "hour" have no aspiration (in any dialect I am familiar with) — this means that there is nothing there, and the "h" is just representing some former historical pronunciation. On the other hand, "historical" has aspiration (the "h") in my dialect of English, but not in other dialects.
So, if you perceive silence where there is an "h" in spelling, it is not aspiration. Aspiration is audible/detectible in a spectrogram.
In general, never trust words in the English language to be phonetic! This is largely a consequence of English being such a fast-evolving language, and importantly, owing its vocabulary to many linguistic sources: Latin, Old French, Anglo-Saxon (a.k.a. Old English), Norse, and many others.
In this case it seems we have French to thank. This etymology is given online, and explains the supposed strange pronunciation:
debt
late 13c., dette, from O.Fr. dete, from L. debitum “thing owed”, neut. pp. of debere “to owe”, originally, “keep something away from someone”, from de- “away” (see de-) + habere “to have” (see habit). Restored spelling after c.1400.
In other words, debt comes via the Old French dete, which itself derives from classical Latin debitum. The b sound got lost due to French phonological rules/convention, and hence the French-origin pronunciation in English. Evidently, after the end of the Middle Ages in the 15th century, there was much revived interest in the classical world, and the spelling reverted to include the original b. Pronunciation, of course, stayed the same.
(Note that this sort of evolution occurred with many different English words, and occurred at the same time many new Latin words entered the English language.)
Best Answer
It’s because the ‹l› was never really there in any historical pronunciation of English. The reason why is an interesting one, and worth answering.
The spurious “silent l” was introduced by the same people who thought that English should spell words like debt and island with extra “historical” letters, which would be silent but tell you something presumably important regarding the word’s origin.