Face recognition sounds easy, but getting a computer to see a face is a much more difficult problem than most people imagine. That's because humans are really good at vision. So good that we often forget how difficult it is. You don't really see with your eyes - those are just the lenses. You see with your brain. It is ALL brain, and super-mind-blowing complex brain stuff as well. You use about 30% of your brain just processing the input from your eyes.
Babies can recognize a facial shape (but not individuals) almost immediately after birth and by four months a baby is able to recognize individuals at almost an adult level, even though the rest of their visual processing is not fully developed. Being able to recognize "mom" obviously has a huge survival advantage so it is not surprising that this skill is developed so early. And the magic isn't constrained to babies either. As adults, faces are processed in a special part of the brain different from the area other objects are processed. That's why we sometimes see faces in abstract objects or attribute meaning to animal expressions that may be totally incorrect.
A computer can't take advantage of millions of years of evolution in order to recognize a face. All it has is a 2-dimensional array of pixels, just like every other thing it encounters through its "eyes." The human brain breaks down a scene into its component elements full of meaning and context. However, computers can’t do that - there is no context to anything they "see".