One big part of Hamlet's indecision is the fact that death is so permanent. He truly marvels at "the undiscover'd country, from whose bourn,/ No traveller returns,/ puzzles the will/ And makes us rather bear those ills we have,/ Than fly to others that we know not of?/ Thus, conscience makes cowards of us all" (III.1.86-90). Basically, Hamlet says here that it is interesting that people would rather deal with life's current burdens than end it all by dieing because they don't have a full knowledge of what death offers. Pondering over death helps Hamlet to avoid following through with his revenge, but it is also a foundation about how valuing life. Life and death perplex him and give him cause to think before he acts. Also, he does not want to fail at his endeavor.
Along those lines (not wanting to fail in revenge), Hamlet has the opportunity to take his revenge when his uncle is kneeling at prayer and vulnerable. But Hamlet reasons that killing his uncle while he is praying isn't a good idea because he could be praying for forgiveness, and sending his uncle to his death in prayer would probably not solidify this chances of going to hell where murderers deserve to go. Hamlet thus decides to kill his uncle when he is drunk or about doing some other sin (III.iii.76-98).
A third time that Hamlet dithers about life and death is when Fortinbras of Norway wants safe passage through Denmark to attack a piece of worthless land in Poland. Norway's desires do not add up in Hamlet's mind, so he reasons that if Fortinbras can make a decision to act and to kill so many people over something so worthless, then he, Hamlet, should be able to follow through with avenging his father (IV.iv.56-66).
Hamlet is young and inexperienced to death and murder. He was shocked when he finds out his uncle and mother's bloody deeds and has a hard time committing murder himself. It must take a lot for someone to finally make the decision to follow through with murder because that stays with a person forever! Hamlet shows that he has a conscience by at least thinking things through and taking time to plan the situation out. He also doesn't want to fail, so when the king is praying, he decides that won't work effectively. Many things come up for Hamlet to consider; and, at least he considers them and shows his human side rather than freaking out completely and going on a bloody rampage.