I was pm'd this question in a slightly different form, but I will copy my answer here:
I think a lot of it is just experience. The more experience you get with common errors will help you to know what to be especially careful about. Also keeping up with new drugs/dosage forms/etc.--unfamilar products are more likely to lead to errors. Experience with the doctors in your area, for the ones who insist on handwriting, or for when the electronic system is down, unfamiliarity with a doctor's writing can lead to errors. The ISMP
http://ismp.org/ has a lot of good information on errors and a regular newsletter (not sure if they charge for it or not, I get it at work.) Many times, there is no real reason why an error occurred, but certainly many errors are commonly reported, so those are ones to pay special attention to. Sometimes its possible to help prevent common errors by storing drugs separately from each other instead of next to each other (if the packaging looks very similar or the names are very similar.) Also high risk drugs, those are always worth triple checking. Make sure you have good lighting in the pharmacy, poor lighting will make people prone to drift and make it harder to catch errors.
To add on to the specifics in this question, dealing with errors should not be done "under the table." If you find an error, explain the error to the patient, do what you can to correct it (replace the medicine if incorrect, replace the label if the label had incorrect information, if pt is having adverse effects or has taken a substantial amount of the medication (like its caught on refill) then call the prescriber to see how they want to procede, follow your organizations policies for reporting the error--pretty sure every pharmacy whether hospital or retail is required to have such a policy.)
As for computers making less errors....yes and no. Yes, computers are more likely to catch certain types of misfill errors, but they can't catch knowledge errors. They can't catch when the DUR errors, they can't catch illogical dosing errors, they can't catch "just plain wrong" errors....well, sure they can, you see that with all the DUR overrides you do, but that's the issue the computer has no way of looking at DUR's and seeing which ones should be overriden, and which ones need to be followed up on, they can't catch dosing errors or differentiate between the wide range of dosing based on diagnosis (I had one pop up yesterday about high dosage for an amoxicillin 250mg in an 8 year old....seriously????) So yes, technology and computers have definitely reduced errors, by scanning bar codes, by data entry eliminating handwriting reading errors, by filling/dispensing machines (Omnicel, Pyxis, Script Pro, Yuyama, etc.) And certainly by popping up DUR warnings and alerts....but computers aren't at the level of being able to interpret those warnings & alerts, humans have to do that.