Fairy, Faery, Faerie, Fae, Fay, Fey are usually used interchangeably nowadays, especially among the neo-pagan population, but this wasn’t always so. Here are the older definitions attributed to these words, I won’t get into their natures and appearance here.
The word fairy derives from Middle English faierie (also fayerye, feirie, fairie), a direct borrowing from Old French faerie (Modern French féerie) meaning the land, realm, or characteristic activity (i.e. enchantment) of the legendary people of folklore and romance called (in Old French) faie or fee (Modern French fée). This derived ultimately from Late Latin fata (one of the personified Fates, hence a guardian or tutelary spirit, hence a spirit in general); cf. Italian fata, Portuguese fada, Spanish hada of the same origin…
…To the word faie was added the suffix -erie (Modern English -(e)ry), used to express either a place where something is found (fishery, heronry, nunnery) or a trade or typical activity engaged in by a person (cookery, midwifery, thievery). In later usage it generally applied to any kind of quality or activity associated with a particular sort of person, as in English knavery, roguery, witchery, wizardry.
Faie became Modern English fay “a fairy”; the word is, however, rarely used, although it is well known as part of the name of the legendary sorceress Morgan le Fay of Arthurian legend. Faierie became fairy, but with that spelling now almost exclusively referring to one of the legendary people, with the same meaning as fay. In the sense “land where fairies dwell”, the distinctive and archaic spellings Faery and Faerie are often used. Faery is also used in the sense of “a fairy”, and the back-formation fae, as an equivalent or substitute for fay is now sometimes seen.
The word fey, originally meaning “fated to die” or “having forebodings of death” (hence “visionary”, “mad”, and various other derived meanings) is completely unrelated, being from Old English fæge, Proto-Germanic *faigja- and Proto-Indo-European *poikyo-, whereas Latin fata comes from the Indo-European root *bhã- “speak”. Due to the identical pronunciation of the two words, “fay” is sometimes misspelled “fey”.