For the second question, as a reader of Claes Johnson's book myself, I would say that you didn't miss much as a beginner in the finite element method, that book is pretty well-rounded with every aspect of the FEM except for the implementation.
However, lots of developments have been made since the book published 20 years ago, like other people already mentioned: method-wise there are Discontinuous Galerkin FEM and non-conforming FEM, $H(\mathbf{curl})$ and $H(\mathrm{div})$ Conforming Elements, adaptive mesh refining techniques($hp$-FEM), space-time FEM, least-square FEM, finite element exterior calculus, etc; For solving the linear equation system, there are algebraic multigrid methods, various types of nice preconditioners, fast direct solvers, etc.
For the first question, aside from the references other people already mentioned, I will list some books for some specific topics in FEM:
Mixed and Hybrid Finite Element Methods by Brezzi and Fortin: it has the construction of element for $H(\mathrm{div})$ space, also there are lots of examples of various equations.
Finite element methods for Maxwell's equations by Monk: For various $H(\mathbf{curl})$ problems, both theoretical analysis for the Sobolev spaces and a self-contained finite element construction are presented.
Higher-order finite element methods by Šolín, Segeth, and Doležel: pretty much a complementary book for above two books, it has a comprehensive and explicit construction of the basis functions for the $H(\mathrm{div})$ and $H(\mathbf{curl})$ conforming finite element, ie, Raviart-Thomas element, Brezzi–Douglas–Marini element, and Nédélec element up to arbitrary order in 3D, also the quadrature formulae for these element are presented.
Finite element methods for Navier-Stokes equations by Girault and Raviart: Another classic in FEM reference books IMHO, the theoretical analysis for the vector potentials is the gem, if you are dealing with the 3D vector fields FEM computation, then this book pretty much has all the theoretical analysis you need.
A Posteriori Error Estimation in Finite Element Analysis by Ainsworth and Oden: this book deals with the core idea in the adaptive mesh refinement: a posteriori error estimation for the FEM, and how to construct various types of local error indicators.
Theory and Practice of Finite Elements by Ern and Guermond: another well-rounded book I would say, but not for beginner, this book is for people who know FEM to some extent, but would like to seek for more ingredients, for example, the author established the Babuška Inf-Sup condition in the general Banach space setting and compared it with the open mapping and closed range theorem in functional analysis; Also this book has a nice presentation of Discontinuous Galerkin method for hyperbolic PDEs; In part III of the book, the author gave us a comprehensive presentation of the implementation, from how to choose the quadrature points to how to efficiently store the sparse matrix, and some pseudo-code for the subroutines needed.