A homophone is a word that is pronounced the same (to varying extent) as another word but differs in meaning. A homophone may also differ in spelling. The two words may be spelled the same, such as rose (flower) and rose (past tense of "rise"), or differently, such as carat, and carrot, or to, two, and too. The term "homophone" may also apply to units longer or shorter than words, such as phrases, letters, or groups of letters which are pronounced the same as another phrase, letter, or group of letters. Any unit with this property is said to be "homophonous".

Homophones that are spelled the same are also both homographs and homonyms.

Homophones that are spelled differently are also called heterographs.

More Info: en.wikipedia.org