Leave them unless you are hijacking the question
Once a question is posted, it is not owned by OP but the community itself. As a result, answers should be aimed not to satisfy a whimsical OP, but they should be directed towards OP with the general community in mind. Therefore, if someone in the future might find the answer helpful, it should not be deleted.
Of course, improving your answer is always encouraged and there is a reputation return as well: Your answer becomes more visible again after every edit you make.
Hijacking questions
Sometimes, a well intentioned user might attempt to hijack the question by changing the focus of the question. For example, in this question, the OP clearly wants information about domesticated animals, but this answer attempts to hijack the question by introducing stray animals. Hijacked answers should be deleted and if it is a well crafted answer, the user can ask the question that they are referring to and then answer it in a Q&A style.
Low quality answers
Low quality answers should always be deleted, however, users who post a low quality answers do not usually delete their answers themselves. However, if you feel that your answer is objectively wrong, maybe due to a new conclusive research, deleting them might help with the clutter.
Just recently the official mod message templates were updated and the new template concerning self-deletes summarizes my personal opinion perfectly:
You have recently removed or defaced content from your posts. Please note that once you post a question or answer to this site, those posts become part of the collective efforts of others who have also contributed to that content. Posts that are potentially useful to others should not be removed except under extraordinary circumstances. Even if the post is no longer useful to the original author, that information is still beneficial to others who may run into similar problems in the future - this is the underlying philosophy of Stack Exchange.