The reality I've learned from hiring a lot of people over the years is that recruiting is just not an objective process, no matter how much candidates and employers want it to be. I've often thought it's a bit analogous to dating. If you've ever had a close friend try to set you up with someone, you've definitely experienced it. Your friend will tell you how this other person meets all your criteria and you will be perfect for each other! You get all excited and then you meet the person and it's just a big letdown. Objectively you should be ready to tie the knot next week. But subjectively it's just not right for reasons you can't even always explain.
I've learned that if I'm not excited about getting a candidate an offer letter ASAP, it's likely they're not a good fit. If I have to talk myself into someone and make a list of pro's and con's, they're usually a bad fit.