I have not followed recent developments, but I am not sure much have changed in the last several years. The LaTeX Companion is probably still a pretty complete manual.
Currently most things in LaTeX can be done using packages and user-friendly syntax. But if you want to understand low-level details, e.g., how lines are broken into paragraphs and how to create new paragraph styles, such as styles for epigraphs, signatures or nonstandard books, you can read the original Knuth's TeXbook, which deals with plain TeX. There is also TeX for the Impatient, which is freely available.
Using plain TeX is fun because you have more understanding of what exactly is going on. Corresponding LaTeX commands try to be modular and general, but their code is often hard to understand. However, currently TeX should be only used by those who know what they are doing and by hackers. LaTeX commands are preferred for most people, and learning both systems takes twice the effort. At some point, I wanted to learn TeX really well, but then decided that it is not worth it because of its horrible semantics. TeX is brilliant from the standpoint of efficiency but awful from the standpoint of programming languages theory.
For other books, including some reviews, see TeX Users Group.