Am I, or the general public, good at recognising liars?
Yes and no.
If I have a powerful emotional attachment to something, it is much harder for me to recognise a lie. If it's something I *want* to be true, I'll gloss over or put out of mind certain perceptions or attempt to explain them away. I think this is probably the case for most of humanity.
In most cases, I believe people are more prone to being decieved for the following reasons:
A) They are a habitual liar themselves. A disregard for truth a gullible person makes
and/or
B) They have a strong emotional reason to believe a lie. That could be anything - regarding a relationship, love of country, attachment to a social group or their profession.
For face to face communication, sometimes certain body language alerts me to someone consciously lying. A glaring example would be Mike Walter's account of seeing a plane crashing into the Pentagon. Most of the early interviews show him vigorously shaking his head "no" every time he repeats what he saw. This specific body language disappears, however, when he does an exclusive interview to answer his critics.
Exception: Most trained newscasters and politians who regularly appear in public or on television are usually aware of body language that can give them away - this is why in most cases it is harder to spot a liar among them.