This topic came up a few times during the past month in online discussions and with a few people that I've met. Most of these were in context with the photon detectors used in the EPR-type experiments, but a few came up due to the photon detectors used in detecting Cerenkov light from neutrino experiments.
A lot of people are confused with, and misinterpret, the meaning of "single-photon detectors". Most of them who are not familiar with it think that such detectors can detect every single photons that the detector comes in contact with, i.e. if there's a photon hitting a detector, it will detect it.
This is false. A single-photon detector is sensitive down to detecting single photons. So this is a sensitivity issue. However, it doesn't mean that it has a 100% efficiency. It doesn't detect every single photons that it encounters.
A photodetector such as a photomultiplier tube used in many photon detector is often made up of a photocathode (it converts the incoming photon into a photoelectron), an electron amplifier (something that multiply that single photoelectron into many electrons), and a signal generator/converter that converts the many electrons into an electrical signal. This is what we eventually detect in our electrical signal.
The problem here is that the photocathode does not have a 100% quantum efficiency. In fact, most photocathodes used in photodetector tubes have quantum efficiency less than 50%. What this means that if 100 photons hit the photocathode, less than 50 of them will be successful in generating a photoelectron each. The rest of the photons that hit the photocathode will generate no photoelectron and are lost.
So while the detector is sensitive down to the single-photon level, it is not 100% efficient. Single-photon detectors refer to the sensitivity, not the efficiency, of the detectors.