Watch Your Trigger
Never assume a secret is revealed at a specific time. A good test for this is answering the following two questions:
If the players figure this secret out directly, does it ruin the plot?
If my players never figure out the secret, does it ruin the plot?
Note that those two plots don’t have to be the same.
For example, the players track a serial killer. If they don’t learn the identity, you can add corpses which they can identify, etc. If they do learn the identity, they can attack the killer’s house, which could have loads of traps in it.
Make Secrets Relevant
The players need to be rewarded with the answer, and the best reward is if they can use the information.
For example, by learning the killer’s identity they can stop the murders more easily.
Have Enough Content
I can’t stress this out enough. I have seen GMs with one secret which they weren’t prepared to give because it was the only thing they had.
By adding news media, relations between the murderer and others (that may take revenge), etc., to reduce the chance you run dry whatever happens.
If stuck, add other relevant secrets, like traps, victim patterns, and so on.
Be A Pro
Don’t complain to the players that they don’t get the secrets, even outside the sessions.
Also, don’t tell them what they should have learned unless it is absolutely necessary for the plot.
†With eternal gratitude to Johnn Four.