Hmmmm, . . . is it horrible that I have to say "both"? Hamlet's inaction is both his downfall AND what makes him a hero, . . . a tragic hero, that is. Hamlet's inaction is what causes Hamlet to fail in living up to his family's honor: namely, avenging his father's death. This directly brings about his downfall. However, this inaction is also what makes him a tragic hero. Hamlet is basically a good man (and I would say a "prudent" man), putting lots of thought into everything. He's a perfectionist, always trying to do things right (even if what he is doing is incredibly misguided). Unfortunately, a tragic hero must have a tragic flaw. So, [ta-da!]: inaction.
You ask one of the central questions to the play that has created debate among fans and scholars of "Hamlet" since the play was written. In Act 1, sc. 5, Hamlet swears to the ghost that he will seek vengeance against Claudius for killing King Hamlet. He says then that the ghost is an "honest" ghost. At the end of the second act, in scene 2, Hamlet decides to test the ghost's honesty by having the players put on a play resembling the killing of the king. Several weeks have passed and not only has Hamlet done nothing, he has become indecisive about whether or not the ghost was telling him the truth. No new information has come forward, so why the switch from his belief that the ghost was honest in Act 1, to having to test the ghost's veracity in Act 2? Even after the play and Claudius's reaction to it shows Hamlet that the ghost was telling the truth, Hamlet does not act right away. He plans and revises his plans as circumstances require (i.e., his being sent to England and then being attacked by pirates) but he still doesn't act despite Hamlet's oath in Act 4, sc. 4, "O, from this time forth, My thoughts be bloody or be nothing worth." When Hamlet does finally kill Claudius, it is when opportunity definitively presents itself during the duelling match with Laertes and only after both Laertes and Gertrude are poisoned and after both indicate that they were victims of Claudius's actions. If Hamlet would have acted sooner, the lives of Polonius, Ophelia, Laertes, Gertrude, and Hamlet, himself, might have been spared. I don't see Hamlet as that much of a hero. I see him more as one who overthinks the problem and who should have acted more quickly. His indecisiveness cost him his own life and the lives of the others. Certainly, it is Claudius who is the villain and on whom all deaths can be blamed, but Hamlet might have prevented them with swifter and surer action.
Is Hamlet foolish or prudent?