Railway switch and crossing (S&C) systems have a very complex structure that requires not only a large number of components (such as rails, check rails, switches, crossings, turnout bearers, slide chair, etc.) but also different types of components and technologies (mechanical devices to operate switches, electrical and/or electronic devices for control, etc.). This complexity of railway S&C systems makes them vulnerable to failures and malfunctions that can ultimately cause delays and even fatal accidents. Thus, it is crucial to develop suitable condition monitoring techniques to deal with fault detection and diagnosis (FDD) in railway S&C systems. The main contribution of this paper is to present a comprehensive review of the existing FDD techniques for railway S&C systems. The aim is to overview the state of the art in rail S&C and in doing so to provide a platform for researchers, railway operators, and experts to research, develop and adopt the best methods for their applications; thereby helping ensure the rapid evolution of monitoring and fault detection in the railway industry at a time of the increased interest in condition based maintenance and the use of high-speed trains on the rail network.