It's hard to give a definite rule or guideline, because the "best" choice depends on the thread, how old it is, and a variety of other factors.
For a post in the wrong place, it is definitely helpful to report it so a mod can move it to the correct place.
If the post is less than about a week old, and you do not know the answer, I would suggest not answering, so it stays on the unanswered list, and hopefully someone who does know the answer will chime in to help.
Pointing to an older post that has the answer, or linking to a page or site that has the answer, is sometimes helpful. But that depends on how relevant that source really is. Sometimes it can look similar but not actually be the right answer. (For example, someone recently had a question about breeding for specific egg colors/traits, and you recommended they try the chicken genetics calculator. But that calculator did not have anything about egg color traits, just feather colors & patterns. So not actually useful.)
The older the post is, the more value there is in giving a sort-of answer instead of none at all. Sometimes that brings it to the attention of someone that is noticing new posts but not looking at the unanswered list. And you are right that hour it lets the person know that their post is being seen instead of ignored (but giving a thumbs-up reaction also lets them know the post has been read, without removing it from the list.)