Well, the photos being head on and people posing for the camera are two huge pluses! Let's not discount that.
Also, consider that the average smartphone camera is 5MP, 8MP, more? The average image from a smartphone is far higher quality than the one from a surveillance cameras. While smartphone images are worse in the dark, facebook photos are overwhelmingly well lit, posed, etc.
The other thing, and I am just speculating here, is that Facebook might use the social graph to better 'guess' at who is who. Cameras have no such metadata to use as a second data point. For example, if 3 people comes up as strong matches but only one person is a close connection of the uploader, Facebook can use that to make a better match. Also, Facebook likely knows what cities people live in and may know what location the photo was taken in. These can be used as well to increase accuracy. Again, I do not know what exactly Facebook does but these would be straightforward things to do and almost certainly boost accuracy.