Due to the advancement in computational intelligence and machine learning methods and the abundance of data, there is a surge in the use of data-driven models in different application domains. Unlike analytical and numerical models, a data-driven model is developed using experimental input/output data measured from real-world systems. In control and systems engineering, data-driven based modeling is described through a system identification process that involves acquiring input-output data, selecting a model class, estimating model parameters, and then validating the estimated model. While there are different linear and nonlinear model structures and estimation algorithms, it is crucial for the user to be creative and to understand the physical system in order to arrive at a good data-driven model that works based on the intended application such as simulation, prediction, control, fault detection, etc. This paper presents the data-driven modeling paradigm as a concept and technique from a practical perspective. Besides, it presents the criteria to consider when developing a data-driven model. The estimation/learning methods are examined, and a case study of the data-driven modeling of a DC Motor is considered. Moreover, the recent developments, challenges, and future prospects of data-driven modeling are discussed.