Intermittent failures and no fault found (NFF) phenomena are a concern in electronic systems because of their unpredictable nature and irregular occurrence. They can impose significant costs for companies, damage the reputation of a company, or be catastrophic in systems such as nuclear plants or avionics. Intermittent failures in systems can be attributed to hardware failures or software failures. In order to diagnose and mitigate the intermittent failures in systems, the nature and the root cause of these failures have to be understood. In this paper we have reviewed the current literature concerning intermittent failures and have a comprehensive study on how these failures happen, how to detect them and how to mitigate them.