Ann means "grace", so
Nancy does indeed mean "grace".
Names were originally derived from words/particles of words, and since words have meanings, that's how names acquired their meanings.
For example,
Haley is a variation of
Hayley.
Hayley was derived from the Old English words "heg", "hay", and "leah", "clearing". Therefore
Hayley /
Haley means "hay clearing".
Miranda