In the past decades, there has been a growing research interest in the field of finite-time stability and stabilization. This paper aims to provide a self-contained tutorial review in the field. After a brief introduction to notations and two distinct finite-time stability concepts, dynamical system models, particularly in the form of linear time-varying systems and impulsive linear systems, are studied. The finite-time stability analysis in a quantitative sense is reviewed, and a variety of stability results including state transition matrix conditions, the piecewise continuous Lyapunov-like function theory, and the converse Lyapunov-like theorem are investigated. Then, robustness and time delay issues are studied. Finally, fundamental finite-time stability results in a qualitative sense are briefly reviewed.