Answers which link elsewhere to answer the question should be flagged, but there's a bit more to it than that.
Answers which answer the question through quoting content from an external link or providing sufficient information such that if the link is removed an answer exists, regardless of quality, don't need flagging. If the content besides the link is thin, a comment may be worthwhile.
Answers which solely include a link to a page which answers the question, such as example.com/how-to-fix-x/ should be edited to include a quote or summary of the content. If the link is broken, look for a suitable alternative or look for an archived copy.
Answers which include a link to slightly-related, indirectly-related or unrelated content should be flagged as spam.
All single instances of self-promotion is fine as long as:
- your relationship to the product is disclosed
- it's actually 100% relevant to the question being asked
- it's not a pattern of posting the same links over and over - even if each is correct in isolation.
For example, if I've written an extensive article on my site prior to a question being posted, I will include a link to this content in my answer. However, I will also include a summary of the information such that if the link is later unavailable, the answer is still valid.
Self-promotion can be a fine line if you are just parroting marketing copy without regards to customizing it for the question at hand and you don't offer alternatives to your "solution".
Basically, if it's a 1 reputation user blatantly promoting their own content, flags for spam are generally approved since the OP came here only to promote and not to participate. If a 101 reputation user posts a link to their own content, check their network profile to see if they have the dofollow privilege elsewhere, and include a link to the self-promotion help page if you deem it necessary.
You can always ask on meta or flag as "other" and ask for feedback if a post is spam if you're not sure.