> Speaking factually incorrect things if you believe them to be true is honest but incorrect.
In ordinary conversation, yes, of course. But not in advertising copy. As to the latter, one cannot claim ignorance.
Try your position in a court of law after someone holds you responsible for an "innocent misstatement of fact" in advertising copy that leads to sales based on a false premise, and/or that causes injury.
Interestingly, about the difference between false statements and lying, this played a part in a scandal at West Point a few years ago, in which some students didn't realize the point you make about ordinary conversation -- lying must be intentional falsehood, with knowledge that the statement is false.
Nevertheless, someone who writes advertising copy can't claim this protection.
> Are people who write code with bugs just dirty liars ...
That's not the same at all. A programming bug isn't an intentional statement, whether true or false. A closer comparison would be someone speaking a word in a language he doesn't actually understand, and not realizing he's used the wrong word.