Eric......That you have asked this question, gives the impression that there is someone in particular you have doubts about in terms of honesty.
In as few words as possible for this very complex subject matter, 1st. of all, understand that no one can read minds...(no matter WHAT they say). This means then that logically, we must rely on other methods to try to determine if someone is telling the truth, partial truth or a complete truckload of BS.
Not an easy task, but to some degree, you can get a pretty good"feel". I put much less focus on "body language," and/or habits, than do most people. Stuttering & stammering can mean many things (speech issues, etc) and do not necessarily give the impression of a lie. The same goes for eye contact. Very shy and/or insecure people find it difficult to make eye contact.....so here again, it does not always mean they are being deceitful.
There ARE degrees of lying...and while the general consensus is that any lying is wrong.....because we are human beings....this is an irrational idea. There are also expert liars, amateur liars and accidental liars.........All of this pretty much leaves each of us on our own to figure this out. If this person is someone you are close to or involved with on a romantic level......pay close attention any and every time he/she speaks to you. Use your common sense, know the difference between possible and impossible.....ask simple questions that should yield a simple answer....and think about what you've heard.
If you believe this person has an actual problem with lying......not only to you but with others also.....run your suspicions past others you can trust, to get their opinion.
Finally, be prepared to put this person to the test. You have a right to know if you are being lied to by anyone. Ask a few questions to which you are 100% certain of the correct and truthful answer. (Such as; knowing this person was at such & such a place on THIS day with THIS person...because YOU SAW IT WITH YOUR OWN EYES) If the answer you get is NOT what it should be.....I think you've solved the mystery....don't you?