The problem for Hamlet is not whether or not to seek revenge. Certainly by early in Act 3, just after his play-within-play has caught the conscience of the King, everything is settled beyond any doubt for Hamlet: the Ghost is an honest ghost, and Hamlet's uncle, King Claudius, is the murderer. The questions that arise about the necessary revenge are only these: how and when.
Just plain old revenge is not good enough for the thoughtful and exacting Prince. No, just killing the King would not be enough. "To cut his throat i' the church," as Laertes says, is not the appropriate way of really getting revenge for Hamlet. Indeed, he has his chance to kill Claudius just after the play, but he thinks Claudius is praying, so he doesn't go for it. For Hamlet, real revenge has to be more than just killing; it has to be performed on Claudius (Act 3, Scene 3):
When he is drunk asleep; or in his rage;
Or in the incestuous pleasure of his bed;
At game, a-swearing, or about some act
That has no relish of salvation in't
So Hamlet wants the King to go right to hell when he kills him. Is Hamlet wrong in thinking that way? Shouldn't he just go straightaway and do it? Wouldn't the Ghost have been satisfied no matter how or when Claudius was killed? Probably. But that's Hamlet's problem isn't it: he has to do the killing, and he can only do it the way he does it.
The thrust of the play centers on Hamlet's indecision; therefore, the question of revenge (as well as how to go about getting revenge) is a primary theme. As a revenge tragedy, there is no question of whether or not there will be an act of revenge, but as to whether or not Hamlet "should" seek revenge, this is a moral question. The answer to this question lies in your definition of morality, as a reader. Furthermore, in seeking "revenge" against Claudius, is this actually an act of vengeance or one of retribution/punishment for the murder of his father?
He should if he wants revenge! By this point Hamlet knows for certain that Claudius did, indeed, kill King Hamlet as the ghost tells him. If Hamlet were to kill Claudius at this point, he could do so without causing a blood bath.
But if Hamlet could kill Claudius when Claudius is at prayer (and thus send him to heaven), he wouldn't be Hamlet. If Hamlet could act without first examining every possible consequence then he wouldn't be Hamlet.
Hamlet's character is not yet fully developed. His tragic flaw (before he rejects the idea of killing Claudius at prayer) has not yet caused him to make a critical mistake that will lead to that blood bath.
So, yes, Hamlet should take revenge by this point, but Hamlet wouldn't be Hamlet if he did so, and Shakespeare wouldn't have created a full-length revenge tragedy.
Hamlet would probably be happier if he could dismiss the idea of personal revenge, but if he did, there would be no play. Once he meets with the ghost of his father, Hamlet considers himself sworn to vengeance for the sake of honor and filial piety; especially as the ghost's account corroborates his worst suspicions of his uncle. His uncle is identified as a fratricidal impostor, guilty of incest with his brother's widow. In Hamlet's view, these things are crimes for which only the death of his uncle can atone.