There is the classic definition from MichaelKinsley 30 years ago describing a gaffe as when a politician says something true that he really believes, but is offensive to certain voter groups, i.e. a Democratic politician in the 1980s saying that Japanese cars were better than American cars.