I don't really know, but the book seems pretty basic. I would be surprised if any of the compiler ideas it covers were actually obsolete. They might be simplifications, but they are likely still useful to someone new to the subject. The concrete elements of the book definitely aren't shiny new. The example self-hosting compiler is implemented in a Pascal-like language called Oberon and targets a virtual RISC architecture. But I think the essential ideas behind compilers are the same today as they were fifteen years ago.
I agree that it is the best book on compilers for beginners. I think that parsing using a recursive descent parser for LL grammars with attributed grammars teaches you the most basic and important things (such that one is able to design and parse a nice DSL.)
Having said that the book's major draw back is that is "soft" on the major topics of today: optimizations. The book is very frontend centered and mentions some possible optimizations in the final chapter--no implementations given. Hence, while I always recommend this book as the first go-to book, interested compiler programmers have to find supplemental material elsewhere. (I love M. Scott's "Programming Language Pragmatics", respect Grune, Bal, Jacobs and Langendoen's "Modern Compiler Design", consult Muchnick's "Advanced Compiler Design and Implementation".)
Topic-wise, supplemental material to Wirth's CC-book, I suggest: LR-parsing (yacc) and in-depth study of instruction selection ([i]burg) and register-allocation (graph coloring) for important backend optimizations. I think that gives a firm understanding of compilers, suitable for further study (such as Muchnick "Advanced Compiler Design and Implemetation" 1997 or Morgan "Building an Optimizing Compiler" 1998.)