It is true that Penelope deceived the suitors for three years with her shroud weaving by day and unraveling by night, but she continued to deceive them into believing that she was just about to choose one of them for a little bit longer after that. When they discover her deception with the shroud, she has to finish it, and it seems that she has run out of excuses -- after all, Odysseus has been gone almost twenty years at this point, and she has managed to hold off the suitors for the last ten or so years that he ought to have been home. At one point, when Odysseus is disguised as an old beggar, Penelope saucily tells the suitors that they have not courted her appropriately and that they are supposed to provide her with gifts. She also deceives them by telling them that she will marry whomever can string Odysseus's bow and shoot an arrow through twelve axes. She creates stumbling blocks even after the shroud has been completed to make the suitors think that she is ready to choose a husband from among them. Thus she has deceived the suitors for a bit more than three years.
Penelope tells her suitors that she will marry when she has completed weaving a shroud for her father-in-law, Laertes. Each day she works on it, and each night she unravels her work. Consequently, the shroud would never be completed. Penelope fools her suitors for three years until they finally learn of her deception.