In linguistics, a homonym is one of a group of words that share the same spelling and the same pronunciation but have different meanings. This usually happens as a result of the two words having different origins. The state of being a homonym is called homonymy.
A homophone is a word that is pronounced the same as another word but differs in meaning. The words may be spelled the same, such as rose (flower) and rose (past tense of "rise"), or differently, such as carat, caret, and carrot, or to, two and too.
All homonyms are homophones because they sound the same. However, not all homophones are homonyms. Homophones with different spellings are not homonyms.
"Homonym vs Homophone." Diffen.com. Diffen LLC, n.d. Web. 29 Jul 2014. < http://www.diffen.com/difference/Homonym_vs_Homophone >