...asking a question (or providing an answer) that serves as little more than an advertisement for the respondent's product / service / whatever of choice?
That's definitely spam, and you should almost always flag it. The only time I would say not to flag a blatant advertisement as spam is if the product/service directly answers the question (spam should never be in the form of a question). If it's a borderline case, go ahead and flag it and let a moderator decide. Sometimes we see patterns of advertising that we like to keep track of.
If a question or answer just seems off-topic or irrelevant to the forum, I don't think it necessarily needs moderator intervention. People can vote to close those in the normal fashion. If it's a blatant "How is babby formed?" type of question, you can go ahead and flag it, but those normally get closed in minutes by the community anyway.