Lakos really rubs your nose into the fact that every change to a header file has (potentially far-reaching) consequences. He formally introduces some concepts that every programmer has a vague idea about but never really stops to think about. If you want to write a system with thousands of components and you want to be able to expand and maintain that system for years to come, then this book is an essential read. Every serious software company should own at least one copy.
I do have some problems with the age of the C++ code in the book. Many of his examples are outdated (they were written even before the C++98 standard) and it shows. You have to mentally do the conversion of his examples to more modern C++ (using e.g. the guidelines in C++ Coding Standards : Rules, Guidelines, and Best Practices
So if you can read past the aging C++ code, this book comes highly recommended to experienced (or aspiring) software architects. I wouldn't recommend it to the novice since it can be daunting at times.