Are you trying to report a bug? If so, provide specific examples, with question ID's.
The is_answered
property is true when the question owner has selected one of the answers as "accepted". See Help Center > Answering on any site:
When a user receives a good answer to their question, that user has the option to "accept" an answer. Acceptance is indicated by a colored checkmark next to the answer that has been accepted by the original author of the question.
Accepting an answer is not meant to be a definitive and final statement indicating that the question has now been answered perfectly. It simply means that the author received an answer that worked for them personally. Not every user comes back to accept an answer‡...
This is consistent with your 4 cases. Refer to this Venn diagram:
Only questions in the green circle will have is_answered
set to true.
So of your 4 cases:
is_answered is true, and question has an accepted answer.
-- That's the green circle.
is_answered is true, and question has an unaccepted answer.
-- That's questions that are in the intersection of the purple circle and the green circle.
is_answered is false, and question has an unaccepted answer.
-- That's questions that are in the blue circle and outside the green circle.
is_answered is false, and question has no answer.
-- That's questions that are in the black circle and outside the blue circle.
‡ "But anybody who has a shred of human decency does"...