Some monsters can hide under items on the ground. Moving next to a monster so hidden grants them an opportunity to attack you unnoticed, and attempting to move onto the tile where they are produces "Wait! There's a foo hiding under <an item>!", wasting your movement time.
If you know exactly where the hiding monster is and are already adjacent, you can simply use the [F] command to fight it. Otherwise, the monster will get a turn before you do giving it a chance to hit you. It is possible to hit hidden monsters with ranged weapons, making it fairly easy to detect them for wary players.