Spelling and pronouncing English words can be a challenge. I've often been puzzled by the word "guarantee". What's the point of including the unpronounced "u"? The word is derived from an Old French word, garantir meaning "to protect". In English, the letter "g" may have either a soft (e.g., as in "legend" and "gerund") or hard (e.g., as in "govern" and "good"). "Guarantee" is derived from an Old French word, garantir meaning "to protect". When English adopted certain French words, a "u" was often inserted to mark the "g" as a hard sound, as in "guest" and "guilt".
The long "e" at the end of "guarantee" is also spelt "guaranty". Numerous examples of both spellings can be found in California statutes (see, e.g., Cal. Civ. Code § 1725 and § 1789.13). I haven't made a study of the reasons for the alternate spellings, but the -ee ending is often used in English legal writing - e.g., "employee", "lessee", and "donee". These words, however, don't have an alternate "y" spelling (e.g., "employy"). In the end, I tend to agree with the estimable H.W. Fowler:
Fears of choosing the wrong one of these two forms [guarantee, guaranty] are natural, but needless. As things are now, -ee is never wrong where either is possible.
Fowler's Modern English Usage (2d ed. 1965). My one caveat is that writers should conform to the statutory spelling when using the word in reference to the statute.
Some may wonder what's the difference between a guaranty and a warranty. It turns out that these two words are twins because they have the same etymological root - garantir. This sort of twinning often occurs when words are borrowed at different times. "Warranty" is Old North French while "guarantee" is standard French.