In the past decade, face recognition has gained an important role among the most frequently used image processing applications and the availability of viable technologies in this field has also contributed significantly to this. Face recognition has become an enabler in healthcare, surveillance, photo cataloging, attendance, and much more, which will be discussed in this review paper. Despite rapid progress in face-recognition technology, various challenges such as variations, occlusion, facial expressions, aging and many more that affect the performance of the system still need to be addressed. This paper presents a review on the state-of-the-art, enablers, challenges and solutions for face recognition. Face recognition can be categorized into three groups; namely global approach, local feature approach, and hybrid approach. The global approach uses the whole face as input for the face recognition system. The local approach uses measurements between important landmarks of a face and certain face region selection for training. The hybrid approach blends global and local approaches in which the hybrid approach uses the best global and local approach methods. The challenges of face recognition are; (i) automated face detection where difficulties lies on detecting a person's face, (ii) pose variations cause by rotation of people's head, (iii) face occlusion, (iv) facial expression changes, (v) ageing of the face, (vi) varying illumination conditions, (vii) low image resolution, (viii) identity look-alike or twin, and (ix) other technical difficulties. Finally, the solutions to each of the highlighted challenges were described. The survey found that all the images considered for training and testing were made up of RGB images. With the rapid growth of computer technology in terms of computing speed and the increasingly sophisticated functions of smartphones, multispectral or even hyperspectral imagery could be considered for face-recognition research.