The simplest answer to how to vote is found right in the mouse-over of the voting buttons themselves:
Upvote when the answer is useful. Downvote when the answer is not useful.
At this point, I expect your follow-up question to be "Well, then, what makes an answer not useful?"
That, unfortunately, is highly subjective. What I consider "useful" is not necessarily what others would consider "useful", and what others consider "useful" is not necessarily what you would consider "useful". And because of this inherent subjectivity, any mechanical attempt to control who can downvote what is pretty much doomed to failure.
However, I can give some general rules of thumb which would apply to most if not all questions:
- Is it correct? This one should be fairly obvious; if the answer states something as a fact which is objectively false, it should probably be downvoted.
- Does it answer the question? If, for example, the question is clearly asking for references, or for a particular perspective, and the answer does not provide it — regardless of how correct it is otherwise — it should probably be downvoted.
- Does it answer this particular question? Answers should be tailored to the person asking the question. Writing an answer to an amateur as if they're a scholar is likely to just confuse them, whereas writing an answer to a scholar as if he's an amateur just insults his intelligence. If the answer ignores all the nuance in the actual question and makes unreasonable assumptions about what the questioner does or doesn't know, it should probably be downvoted.
- Is it focussed and relevant? Stack Exchange is heavily modelled around ensuring that actual answers are easy-to-find. If the answer itself is disjointed or veers off into tangential topics rather than focussing on the actual question asked, it should probably be downvoted.
- Is it easy to read and understand? This is basically an extension of (4) above: If for whatever reason it takes undue effort (e.g. bad spelling, bad grammar, bad formatting) to even figure out if and how the post even answers the question, it should probably be downvoted.
But beyond that, what is considered "useful" is very much domain-specific; there's no reason to believe that what is considered useful to a hadith scholar would be considered useful to a da'ii, or what is considered useful to a mufti would be useful to a layman, etc.
And if you're not sure whether an answer is useful or not, opening a meta discussion is a great way to get the community to weigh in on it.
As for your concern that voting is being done based on perspective rather than quality, that's a concern that has been raised before. In short, the system can detect and reverse certain fraudulent voting patterns automatically, and moderators do have tools to investigate potential vote-fraud when it's brought to our attention. But given how subjective voting is at the best of times, and especially given limitations in the domain expertise of individual moderators (site moderators and especially the SE community managers can't reasonably be expected to be experts in all fields of Islam and Islamic science, after all), we prefer to assume good intentions unless there's clear signs of abuse. Demonstrably proving this sort of thing often requires active community involvement.