The words foul, fowl sound the same but have different meanings and spellings. Why do foul, fowl sound the same even though they are completely different words?
The answer is simple: foul, fowl are homophones of the English language.
Offensive to the senses; revolting.
Having an offensive odor; smelly.
Rotten or putrid: foul meat.
Full of dirt or mud; dirty. See Synonyms at dirty.
Any of various birds of the order Galliformes, especially the common, widely domesticated chicken (Gallus gallus).
A bird, such as the duck, goose, turkey, or pheasant, that is used as food or hunted as game.
The flesh of such birds used as food.
A bird of any kind.
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").