A Bayes filter is a widely used estimation algorithm, but it has inherent limitations. Performance can degrade when the dynamics are highly nonlinear or when the probability distribution of the state is unknown. To mitigate these issues, machine learning (ML) techniques have been incorporated into many Bayes filters, due to their advantage of being able to map between the input and the output without explicit instructions. In this review, we reviewed 90 papers that proposed the use of ML techniques with Bayes filters to improve estimation performance. This review provides an overview of Bayes filters with ML techniques, categorised according to the role of ML, remaining challenges and research gaps. In the concluding section of this review, we point out directions for future research.