I would want to sum up the character flaw of Hamlet in one word: procrastination. Even though he has received ample evidence of the guilt of his uncle, Claudius, in killing his father, Hamlet becomes completely obsessed with having substantial and incontrovertible proof of the guilt of Claudius before he does anything. This leads him to concoct elaborate schemes and stratagems which allow him to put off actually acting and doing something about the situation. His desire to "have grounds more relative than this" before acting is something that allows him to put off having to try to decide how to respond to the proof that is starting him in the face.
If we think about it, straight after the appearance of the Ghost, Hamlet begins his policy of procrastination. Rather than confront Claudius directly, he swears his friends to secrecy and then, for no apparent reason, says he plans to feign madness. Even when he begins to have more and more proof of the guilt of Claudius, he does not confront him, instead choosing to adopt a surly and violent attitude that makes Claudius suspect he must fear him. He does not take the opportunity of killing him when his uncle is at prayer in case his soul goes straight to heaven, and instead waits until the tragedy can impact everybody in the play in the final scene. Therefore, Hamlet's biggest flaw is his inability to act until it is too late.