The words lam, lamb sound the same but have different meanings and spellings. Why do lam, lamb sound the same even though they are completely different words?
The answer is simple: lam, lamb are homophones of the English language.
To give a thorough beating to; thrash.
To strike; wallop.
To escape, as from prison.
Flight, especially from the law: escaped convicts on the lam.
Lambskin.
A young sheep, especially one that is not yet weaned.
The flesh of a young sheep used as meat.
A sweet, mild-mannered person; a dear.
Definitions from The American Heritage® Dictionary of the English Language, 4th Edition and Wordnik.
Homophones (literally "same sound") are usually defined as words that share the same pronunciation, regardless of how they are spelled.
If they are spelled the same then they are also homographs (and homonyms); if they are spelled differently then they are also heterographs (literally "different writing").