A user on English Language and Usage Stack Exchange asked if inveterate is always pejorative. We most often talk/write about an inveterate liar, and not an inveterate philanthropist. Other users provided examples of inveterate readers, writers and travellers, and of inveterate habits, which might be positive or negative. Clearly, inveterate is not always pejorative.
I wondered about the origin of this word, which is not immediately clear. It turns out the root is Latin vetus, old, the same root as veteran. So why don’t we have veterate liars; people who only occasionally tell lies? The in– of inveterate doesn’t mean not; it means in, into. Inveterate liars are those who tell lies into old age, for example, [insert name of disfavoured politician here].
Interestingly, several dictionaries online record veterate as “Of long standing; inveterate”, which means that veterate and inveterate mean the same thing (compare flammable and inflammable).