Some dogs can be trained to herd sheep in a remarkably precise way, with just hand gestures and whistles to control them.  There are plenty of people on this planet, born with mental defects, that would be incapable of learning to do this. Nevertheless, &quot;People are smarter than dogs&quot; is a usefully true statement, even whilst not being 100% correct.  It certainly communicates the idea better than: &quot;People, after having attained a certain level of mental development after birth, and not counting those born with mental defects or receiving cerebral injuries after birth, are smarter than most dogs, putting aside for the moment the possibility of a dog being born with a mutation allowing it to reason at a much higher level than is usually seen in the dog population&quot;.<p>One version of that sentence concisely articulates the core idea.  The other, whilst more correct, hides the core idea under a large number of sub-clauses trying to deal with unusual corner cases.<p>To bring this back to the technical world, this debate is very similar to the way that programming language designers go to great lengths to try and help programmers right error handling code that doesn&#x27;t get in the way of understanding the nominal case - it turns out that this is an exceptionally hard problem to solve though when dealing with computers because they are so precise.  Thankfully human brains can be a lot more forgiving if we so desire (see the Principal of Charity mentioned previously in this thread).