An efficient estimation of the State of Charge (SoC) of an electrical battery in a real-time context is essential for the development of an intelligent management of the battery energy. The main performance limitations of a SoC estimator originate in limited Battery Management System hardware resources as well as in the battery behavior cross-dependence on the battery chemistry and its cycling conditions. This paper presents a review of methods and models used for SoC estimation and discusses their concept, adaptability and performances in real-time applications. It introduces a novel classification of SoC estimation methods to facilitate the identification of aspects to be improved to create an ideal SoC model. An ideal model is defined as the model that provides a reliable SoC for any battery type and cycling condition, online. The benefits of the machine learning methods in providing an online adaptive SoC estimator are thoroughly detailed. Remaining challenges are specified, through which the characteristics of an ideal model can emerge.