As chief avenger for his father's death, Hamlet is ultimately successful in this role. However, Shakespeare's play is more than just a story about revenge. The reader gets lost in Hamlet's mind, his musings, his questioning of the meaning of life, love and death.
Hamlet gives us an opportunity to delve into the secrets of life, death and love through his extensive thinking about his uncle's guilt.
If Hamlet acted on the information from his father's ghost immediately, there would be no layers to this tragedy. The reader is given a fuller experience through Hamlet's delaying his response.
Hamlet, probably Shakespeare's most famous character, is rich with contradiction and emotion. He embodies a full course of human emotions, ranging from grief, love, anger, rage, and passion to fear and insanity.
We learn a great deal about human nature from Hamlet, he is a wonderful teacher!
The delay in seeking revenge for his father's death is one of the key questions in the play, "Hamlet". The complete answer would take more space than I have here, so I will try to condense my answer. In act 1, sc. 5, the ghost of Hamlet's father tells Hamlet that Claudius killed him and that Hamlet should seek vengeance. It is not until the end of act 5, that this is finally carried out. Hamlet questions his own delay (Act 2, sc. 2) and chastises his procrastination (Act 4, sc. 4). He decides in act 2, sc. 2, to "test" the ghost, to see if it was really the spirit of his father and was telling him the truth about what happened. The "test" is the play that he has the players perform and Claudius's guilty reaction to seeing his crime enacted convices Hamlet that the ghost was truthful. But he still delays, even though it is Act 3, sc. 2 that Claudius reacts to the play. When Hamlet has the chance to kill Claudius after the play (Claudius is praying in the chapel), he doesn't do it because he doesn't want Claudius to have the chance to go to heaven because he is repenting when Hamlet's father didn't have the chance because he died in his sleep. Hamlet does finally carry out his revenge when he kills Claudius in the violent final scene of act 5. Is his delay due to reluctance to commit murder or is due to some other reason? That's one for each person to decide for himself.