I see a lot of folks asking if they should wish for what's on top of their deck, or what they really want in their hand. Of course the answer is that it depends, but here's one concise thing you can say that's true at any point in the game.
You should wish for the card that maximizes (probability that you will draw the card) * (benefit of drawing the card).
Examples:
early game - you know your deck has three estates and a copper. What do you wish for? You have a 75% chance of improving your next hand by ridding it of an estate, and a 25% chance of a money. If that copper is the key to the game (e.g. it's your only chance to get your first witch before reshuffling and your opponent has a witch already), you will take it. If not (e.g. it's the difference between a silver and a caravan) you should wish for an estate.
turn three - after playing WW, you have five copper in hand; your deck contains 2 coppers, 3 estates, and a silver. What do you wish for? Well, if you were going to buy a 5 like minion or witch anyway, you may as well wish for an estate. If all the 5s are terrible, you wish for a copper -you're throwing away a 50% chance of "scouting yourself" for a 33% chance of a gold, which is reasonable. It's very rare that you'd wish for the silver here - you'd need a powerful seven on the board and also a five that you'd always prefer over gold.
Late game - you're playing a vault deck. If you drew your wishing well with a gold or a silver and a bunch of junk, you should wish for your vault even if the probability is very low, because it's a certain province if you're right. On the other hand, if you draw your wishing well with pure junk, you DON'T want to wish for a vault - wish for the most probable junk, to increase the chances of vault/gold collision.