How are these words different and when to use them?
I assume honesty is more casual and the other two are more proper and used more often in writing than speaking?
It is just my speculation that honesty is more casual because it is used more often than the other two words, this is simply verified via google search. The keyword "honesty" returns more results than the other two.
It seems to me that veracity is often used with an event rather than a person (by reading the news here)
Integrity seems to cover more aspect of person's quality than honesty (defined here and the answered by Andrew below).
Best Answer
I assume you mean these three as applied to people. "Integrity", for example, means something different (but metaphorically related) when applied to something like a building.
Honesty generally refers to truthfulness, someone who tells the truth and is free from deceit.
Integrity generally refers to soundness of moral character, including such things as honesty, reliability, decency, and sincerity. Like a strong building, someone with integrity can be relied on to say what they mean, to do what they say, and to know right from wrong.
Veracity generally refers to accuracy and correctness. It it generally applied to things or events, but when applied to people it is synonymous with "honesty".
If you specifically want to say a person is truthful, then use "honest". If you want to talk about their overall character, then use "integrity". Again, "veracity" probably is best used for objects, not people, especially since there are many other words available.
Related nouns: sincerity, probity, rectitude, truthfulness, incorruptibility, righteousness, honor, candor, trustworthiness, fidelity
Related adjectives: sincere, truthful, incorruptible, righteous, honorable, principled, virtuous, moral, trustworthy