Ham: Denmark's a prison.
Ros: Then is the world one.
Ham: A goodly one, in which there are many confines, wards, and dungeons.....
Ros: We think not so, my lord.
Ham: Why, then, 'tis none to you; for there is nothing either good or bad, but thinking makes it so. To me it is a prison (II,ii,236-242)
This man of thought, Hamlet, is also a man of great melancholia. And, it is this melancholy and imprisonment, as it were, in depression--recall his debate of even existence in "to be or not to be"--that also contributes to his lack of decisive action.
Some critics see the delay of Hamlet as a fatal flaw. They see Fortinbras as a man of action and Hamlet as a man of thought. In the end, the man of action is the one who overcomes his enemies. However, I see Hamlet's delay as a little more complicated than that. It's important to recognize that during Elizabethan times when the play was written, ghosts were seen as evil spirits. Horatio alludes to this when Hamlet wants to follow the ghost in Act I of the play.He warns his friend:
What if it tempt you toward the flood, my lord,
Or to the dreadful summit of the cliff
That beetles o'er his base into the sea,
And there assume some other horrible form,
Which might deprive your sovereignty of reason
And draw you into madness?
(Act I, Scene v, Lines 74-80)
Thus, Hamlet is wise in first confirming whether the ghost is even telling him the truth. In order to do so, he must wait until the players arrive and have them put on a play which reenacts the ghost's version of the murder Hamlet's father. Once he has seen Claudius' reaction, Hamlet is convinced the ghost is telling the truth. He has a chance to kill Claudius that night, but Claudius is praying and according to Elizabethan belief, to kill him there would mean he would go directly to heaven, something Hamlet does not want. So, Hamlet waits. Then he is sent to England. When he returns to Denmark, he finally kills Claudius but the delay allows Claudius time to plot Hamlet's death and they both die.