What flaws did Odysseus have?
Odysseus is definitely a flawed hero; his most obvious faults being pride, cruelty, and faithlessness. In Book IX, when Odysseus and his men find the cave of the Cyclops, he displays his ruinous pride in wanting to claim a guest-gift from the Cyclops. He could have just left, or could have stolen some cheese from the Cyclops, but he preferred to meet him. Odysseus knew that the Cyclops was dangerous, but his bravura made him want to be able to boast that he had met and claimed a guest-gift from him. This caused the horrible death of several of Odysseus' men.
At the end of the poem, Odysseus displays his cruelty by forcing the unfaithful maids in his house (those who had taken up with the suitors) to clean up all the blood of the suitors he had slain (Book XXII). It was bad enough that Odysseus had trapped and killed many unarmed men (who were, it must be said in all fairness to Odysseus, bent on his destuction), but Odysseus goes a step further. After the maids had performed the grisly task, he hung them all. Hanging in those days was a slow, agonizing death (it was slow strangulation, rather than the breaking of the neck). After this he horribly tortures and dismembers Melanthius. This might have been the standard justice in Odysseus' time, but it seems particularly cruel.
Finally, Odysseus infidelity to Penelope, though not the most damning of his sins, surely, was repeated and long-lived. Odyesseus spends a lot of time lolling about on islands with Circe and Calypso, cheating on his wife. Granted they were an an enchantress and a goddess, so perhaps not that easy to escape, but compared to Penelope's long-suffering faithfulness to Odysseus, it seems an egregious character fault on his part.
Odysseus is also incredibly stubborn and arrogant. Despite the terrible experience with Polyphemus on his island, Odysseus continues to stop needlessly at other islands on the way home. For example, he stops at Laestrygonia, a land of giants. Before he and his crew can figure out if the giants are friendly or villainous, the giants begin attacking his ships. Here, Odysseus loses all his ships except for the one he is on. This shows how stubborn and arrogant he is because it does not seem to occur to him that, despite the danger before, there could be danger to him again. Odysseus seems to assume that he will remain safe—a function of his arrogance.
In addition, when he is given the bag of winds by King Aeolus, he stubbornly does not tell his crew what is within the bag. He guards it as something of great value until they are one mile from the shores of Ithaca, and then he falls asleep. He arrogantly assumes that he does not need to tell his crewmen what is in the sack after all they have been through. The crew assumes it is some treasure Odysseus is hoarding, and they open the bag. Had Odysseus been less arrogant and shared his knowledge with his crew, they would have gotten home much sooner.