Such a question really invites me to recommend my own book Applied Quantitative Finance for Equity Derivatives, which you can buy on Amazon.
The book devotes 200 pages to the subject of volatility. It covers the Dupire local volatility model, along with tricks that are required to apply it in practice. It also covers stochastic volatility models, and local stochastic volatility models. Always, the focus is on how to apply those in practice, up to the numerical schemes details.
Now, Jim Gatheral The Volatility Surface is also a good book on the subject, more on the theoretical side.
Another more recent book that comes to mind is the one from Lorenzo Bergomi Stochastic Volatility Modeling. It may be a bit heavy on maths, and less on the practical side.
Finally a more lightweight reading is The Volatility Smile by Emanuel Derman. It focuses on giving an intuitive understanding of the various volatility models. The intended audience is more someone who does not know much about quantitative finance and would like to understand (in some details) what is exactly a local volatility model or a stochastic volatility model. The book tries to be not too mathematical. As a consequence, it presents the models in a very superficial manner. If you want to implement the models, it is clearly not the right book.