The thing is, "not an answer" and "a very bad answer" can often be really hard to differentiate between. And to be completely transparent about it, with the various tweaks and evolutions done to the flagging and review systems, the
not an answer flag is basically something that I think should never be used anymore.
If you think a post should be deleted right away because it's offensive,
The better approach with that kind of answer is to flag it for being very low quality. It will then go into the low quality review queue for a while, and unless the community saves it by reviewing it as "Looks OK" enough times to get it removed from the queue, it will become a flag for moderator attention at some point.
The low quality queue approach also has the advantage of letting reviewers leave automatic comments on the answer explaining why it sucks, as well as exposing the answer to more potential downvotes, which contribute to the automatic question and answer blocks Stack Exchange has implemented. So next time, if there's any doubt at all, flag it as low quality.
Just so you know, if I act on something I see in the low quality queue, I see:
The moderator system has gotten a lot less attention and polishing and such, and as a result, basically makes me do everything manually. If I want to accept the flag outright, I click the delete link, and "the not an answer" answer gets blown away without any other action.
If I want to comment, or downvote, I end up having to open a new tab, manually say what I want to say @ the user, flip back to the other tag to then accept the flag, and then close out the "extra" browser tab... and that's my process to minimize the amount of effort I have to put in. Obviously, most of the time, I can't be bothered. Since the vast majority of these crap answers come from hit-and-run users (or old users who haven't been here in a year), I'm not going to exert extra effort in what I know is an futile effort to educate a window-licker who almost certainly won't return to read my comment anyway.