What is the difference between falsifying data and just being wrong?
The clear difference is intent.

Human error occurs when people make mistakes accidentally. For instance, in my first paper, I submitted a graph that was physically implausible because of an error in a code I had written, without realizing it at the time. 

However, if I knew the work was wrong or, worse still, if I intentionally made up results, we would cross the boundary from human error to fraud.

Unfortunately, it can be very difficult to detect intentional fraud without some assistance from the perpetrators themselves. A major example of this was the Jan-Hendrik Schön scandal of the early 2000's. Schön's fraud was discovered because he was reusing the same figures to different ends in papers in various journals.