When I run a scenario, I don't want my players to immediately guess what they're dealing with. Ideally, they should be mystified, worried, and maybe confused. I do want them to figure out what's going on somewhere in the middle of the action, and I definitely don't want the scenario to gratuituously swap one monster into the natural niche of another without foreshadowing that the players' metagame preconceptions may be wrong. As an example, suppose that the investigators are looking into strange disturbances at an old cemetary. The players (not necessarily the investigators) may very well expect ghouls to be involved. If it turns out that the issues were caused by a pod of cthonians burrowing around underneath the place, I expect some clues will give the players a hint of what they're truly facing, even if the clues don't give away the whole show.
I also like to see enough "Scooby Doo" shenanigans to keep them honest: They might go in expcting ghouls, and instead discover that thieves are trying to tunnel into a bank vault next to the cemetary. A scenaro like that should have some other twists: Perhaps the thieves are trying to get into something less cliched than a bank vault, and perhaps they want a payoff that isn't as simple as the bank's contents... If something is the first thing you think of, it's better to put something else into your scenario..
Not every cult is Cthulhoid, and not every town has a cult. Not everyone who suspects the truth is a cultist, and not every cultist is a fanatic.