My philosophy is to present information only when it becomes relevant. I once read a great book in which the main character's name is never revealed at all (Surfacing, by Margaret Atwood).
Never revealed at all is a different issue. Like anything else, that should only be used when it enhances the story, never as a cheap gimmick, but when it's used well, it works.
One problem with delaying is that it invests the name with a great deal of weight. The longer I have to wait to find out a name, the more punch that revelation needs to have when it finally occurs. It it isn't worth the build-up, I'm likely to introduce the book to the wall at that point.
I agree with the principle of presenting information only when it becomes relevant, but I think names are (almost always) an exception. The need to name things is pretty basic wiring in the human brain. Withholding a character's name messes with the reader's ability to become immersed in the story, by acting as an irritant at a very fundamental level. Sure, it's possible to invoke that irritation deliberately, say when anonymity is part of the theme of the story, but it's a dangerous technique, too powerful for casual use.
Of course, POV matters, too. Using char X's name in narration when the POV char doesn't know it yet is a POV violation. It's also reasonable for the POV char to think of a very minor character by a tag, even if s/he does know their actual name. (Whether your char thinks of Jerry the doorman as "Jerry" or "the doorman" shows something about what kind of person your char is.) Beyond that, though, if the character is of any importance whatsoever and the POV char knows hir name, withholding the name is just annoying.