Cardiovascular disease represents various diseases associated with heart, lymphatic system and circulatory system of human body. World Health Organisation (WHO) has reported that cardiovascular diseases have high mortality rate and high risk to cause various disabilities. Most prevalent causes for cardiovascular diseases are behavioural and food habits like tobacco intake, unhealthy diet and obesity, physical inactivity, ageing and addiction to drugs and alcohol are to name few. Factors such as hypertension, diabetes, hyperlipidemia, Stress and other ailments are at high risk to cardiovascular diseases. There have been different techniques to predict the prevalence of cardiovascular diseases in general and heart disease in particular from time to time by implementing variety of algorithms. Detection and management of cardiovascular diseases can be achieved by using computer based predictive tool in data mining. By implementing data mining based techniques there is scope for better and reliable prediction and diagnosis of heart diseases. In this study we studied various available techniques like decision Tree and its variants, Naive Bayes, Neural Networks, Support Vector Machine, Fuzzy Rules, Genetic Algorithms, and Ant Colony Optimization to name few. The observations illustrated that it is difficult to name a single machine learning algorithm for the diagnosis and prognosis of CVD. The study further contemplates on the behaviour, selection and number of factors required for efficient prediction.