There seem to be a lot of unwritten rules about the rewiewing process which should be made publicly known in some help text (an answer with these rules would be helpful). The general text on a failed review is not always helpful.
Yes, two of them:
Don't repeatedly goof up and make the wrong call.
When in doubt, skip the review and let someone else handle it.
In case that's not good enough, there's also this.
I found the following rules, which where new to me:
- Do not correct code samples, even if your solution runs
This is what we call common sense. It's not about whether your solution runs. If you think you have a better solution, then post a new answer along with a full explanation of how it solves the problem being asked in the question.
Leave other people's answers alone. They wouldn't have posted them unless they thought they were correct. It is more likely that you are misunderstanding what their code is supposed to do or how it is supposed to be used.
If you feel very strongly, you could always post a comment to their answer, explain why you think their code is wrong, and make some suggestions on how to fix it. This way, the person can either say "oh you're right, I goofed up!" and fix the post themselves, or "no, you're doing it wrong; here's how you're supposed to use this code". Now you learned something!
And you especially should never change code in questions, because doing so is almost guaranteed to obscure some sort of problem. Even if you don't think it's the source of the problem discussed in the question, it's still something that answerers might want to comment on (and may already have done so). Silently fixing it doesn't help anyone because it doesn't explain why it was wrong and why your fix is better. If you don't have an actual answer to post, leave this information as a comment to the question.
- all questions about password recovery are SPAM, because they could attract SPAM
By virtue of the use of the word "all", this statement is basically guaranteed to be wrong. I assume it's hyperbole, but hyperbole is a poor way to establish the types of rules that you seek.
The truth is, whether something is spam or not is often a judgment call. Experienced users can often make this judgment rather quickly and accurately, based on their experience. If you aren't sure, refrain from making a judgment.
And as for your particular example:
The answer is spam because it consists of little more than marketing text and a link to a third-party tool. We don't welcome these on the site. Worse, it violates the clear rules in the FAQ about self-promotion and how to write a good answer.
The question is not spam, it's just extremely poor. It should be closed for any number of reasons, but not deleted or flagged as spam.
- if I have a different opinion than others, I must be wrong
Hyperbole again? Not constructive.
Brace yourself, though: what you're about to hear may come across as harsh… Yes, in general, if your opinion differs from the commonly-held consensus of others who have been active on the site for a long time, you are probably wrong.
It goes without saying that this doesn't mean you aren't allowed to have your own opinion. You're even allowed to share it. There's nothing wrong with being wrong, per se. Just keep in mind that you're not likely to carry the day unless you can provide a very compelling and persuasive argument in favor of your unique perspective. You've got a lot of expertise and experience to overcome, and you need to articulate why that should be dismissed out of hand. As they say where I'm from: you've got some 'splainin' to do!
Besides, by design, lots of things on the site are vote-based (e.g. question closures and re-opening, and suggested edits). This is inherently a majority-rules system, and there's good reason for that. There are times that I'm convinced I've made the right call based on my experience, but yet I get overruled. Sometimes I remain convinced that I'm right and everyone else is wrong. But I'm a radical.