The longer you wait, the higher the risk of having your plans get into Russian hands. The Germans delayed the attack at Kursk to get Panther tanks into service. The Russians got ahold of the German plans, down to the minute that the attack was to jump off, and used the delay to shape the battlefield and prepare very deep defensive positions and position reserves in the best places for the counter attack after the Germans were stopped. From what I've seen, the Russian defensive positions in Ukraine are modeled on their positions around Kursk.
As has been mentioned, too much delay risks a loss of political will to support Ukraine in Western countries. Lack of action waiting for F-16s and other modern jets may result in those jets never coming.
Finally, too much delay will undercut the morale in the Ukrainian Army. Once they get everything fine tuned and ready for the fight, it is impossible to hold that edge indefinitely. Too much delay also sends a signal of weakness to both the Ukrainian Army and the Russian Army.
As the wise Tuco Ramirez said, "When it's time to shoot, shoot. Don't talk."