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.