A: According to the drama itself.
a) In the first two acts Hamlet cannot kill Claudius until he can prove that he poisoned the late king.
b) Next, Hamlet comes up with the idea of the play to prove whether or not Claudius is guilty. Hamlet discovers Claudius is guilt but has no evidence to present to the people
c) Another reason why Hamlet stays his hand is because Claudius is praying.--- if he kills Claudius while he is praying he might go to heaven
B: According to the religious background.
Written at a time of religious upheaval, and in the wake of the English Reformation, the play is alternately Catholic and Protestant. Some scholars have observed that revenge tragedies come from traditionally Catholic countries, such as Spain and Italy; and they present a contradiction, since according to Catholic doctrine the strongest duty is to God and family. Hamlet's conundrum, then, is whether to avenge his father and kill Claudius or to leave the revenge to God, as his religion requires.
C:Self-doubts.
Hamlet is plagued by self-doubts. In his second soliloquy, the essence of his true conflict is uncovered. He is committed to seeking revenge for his father, King Hamlet, yet he cannot act on behalf of his father because of his revulsion towards extracting that cold and calculating revenge. Hamlets self-condemnation takes several forms, including a series of imaginary, demeaning insults that he absorbs like a coward- he feels he has done nothing to take revenge on Claudius and feels like he lacks the ability- `unpregnant of my cause'.
D:Personality
He is a Prince, an intellectual and has a sense of social duty towards Denmark and its people. One should ask, why does Hamlet procrastinate in taking revenge on Claudius? He is a man of great moral integrity who is forced to commit an act, which goes against his deepest principles.
E:He is a humanist.
However, because of the late Renaissance social background, he was disappointed about