Depends on the monster.
With "natural" monsters such as humanoids or beasties, I'll tell the PCs about what level of health they have left. When I'm using a virtual table such as d20 Pro, I'll let the players see the health "meters."
For something like a ghost or other incorporeal beings, I don't usually let them in on how much health it has left, unless it's story-line based. ("the ghostly girl's visage changes from menacing to fearful..."). Same for zombies or skeletons, I don't give much in the way of clues about how damaged they are. For more advanced undead, such as a vampire, there will be a mixture of physical and storyline clues, and I'll let them know when one is bloodied at the very least.
I've had players roll skill checks (dungeoneering, arcana, etc depending on the monster) to see if they could get an idea of how damaged a non-natural beast is, with the difficulty set based on the manifestation of the creature. In my mind, ghosts and other incorporeal things are amongst the hardest to figure out.
It was pretty fun the first time I used these techniques at the virtual table. For all of 1st level, they'd only fought things where I'd let them see the health meter. When we hit the first incorporeal monsters, they asked me if the VT was bugged because they didn't see the meters. "Everything is working as designed," I replied, and the looks on their faces was priceless.