I've had to learn this lesson several times. Here's a couple of examples.
In Escapade! there's no limit to how many small items you can carry, but if you take a large item you automatically drop any other things you have to make room. In the initial design stages this mechanism was needed for a puzzle to work, but the puzzle was later removed. Since it's a one-room game and the game implicitly picks up any items before you use them and it lists everything on the floor when you take inventory, there was no need to remove the mechanism that was already implemented, right?
Wrong. Players would play for some while, then LOOK and go "Didn't I pick that up already?" or INVENTORY and "* BUG: I never dropped those items". They hadn't noticed or didn't remember anymore that the game had said "(first dropping X, Y and Z to make room)" when they had picked up something big earlier.
Another in the same vein: One of the puzzles is <click to show spoiler>
- Don't put relevant information to places where the players don't expect to find information. Players don't expect command clarifications to contain anything other than notifications of implicit actions, and they expect TAKE ALL to just list items and "taken", so they don't pay them any more attention than that.
- Don't expect the players to read room descriptions anymore after the first time. If a room's description changes during the game and that change contains important information, make sure the players know they should re-read the description or convey the information to them also in some other way.
- Don't expect the players to remember what they have read after a few turns.
It'd be interesting to hook a couple of players with different levels of playing experience into an eye tracker and study what parts they tend to skip or skim when playing.