The purpose of the 'not an answer' flag is well summarised in the meta-discussion Flagging as 'not an answer'. I reproduce it here for convenience.
The "not an answer" flag is for the following situations:
- The OP...
- needed to update the question with new information, but posted the new information as an answer.
- wanted to reply to an existing comment or answer, but posted the reply as an answer.
- posted a "resolution answer" saying something along the lines of "Joe's answer worked for me"
- A user...
- wants to reply to the OP, an answerer or a commenter, but doesn't have enough rep, and instead of thinking "maybe there's a reason I'm not allowed to post comments," ignores the help text about what an answer is.
- posts to say "I'm having this problem too, does anyone have a solution yet?"
- has a related issue and isn't aware of the "Ask Question" button.
These are common situations for new SO users who may be confused by the reputation, editing and/or commenting systems. They may be used to forums where it's normal to add a new post underneath the existing posts, and blindly click the "Post Your Answer" button.
So:
- If the answer really isn't an answer, but something else entirely (see above), flag it.
- If an answer is technically inaccurate, wrong, or just doesn't answer the question, downvote it.