Often, when I look at a question and answers, I come across a long, well-written answer to a difficult question. I may not have the expertise to verify the details of the answer, or I may have the knowledge but not the available time to do so. Recently, I have been going ahead and upvoting the answer, even though I am aware that, as far as I know, it is possible that the solution has a serious flaw in it. My only evidence for believing the solution to be valuable is what, if anything, I know about the particular poster and the empirical fact that most detailed responses to difficult questions that I am able to verify do, in fact, turn out to be correct (especially when considered modulo minor typos and such).
Is it appropriate to upvote such an answer? My rationale is that, in many cases, very few people will have both the relevant background and available time to check such a detailed answer, and it seems unfair that some of the very best answers to questions on the site receive very little credit, while a solution to something very basic (for the responder and many of the members of this site, though of course not necessarily so for the original poster of the question) may receive a flurry of upvotes immediately. I personally am much more interested in reading the long, well thought out replies to problems whose solution method is not widely known, so I would like to show my appreciation for such answers.
But I have enough concern about my practice to solicit community feedback and see whether others engage in a similar practice or whether some find this practice against the spirit of what an upvote should signify. And more broadly speaking, what are good criteria that people use in practice to determine what answers merit receiving an upvote?