After reading some of the less flattering reviews of this book, it seems that many reviewers were expecting a book on object-oriented programming in general. If you want to learn how program, this is not the book for you. This book is about *using* object-oriented techniques to architect systems. The content you should take away from it is entirely independent of any particular language.
Some of the steps in becoming a good OOP programmer/architect are listed below (1 & 2 are often combined):
1. learn an OO language
2. learn OOP
3. learn how to *use* OOP
Step three is where this book and, for example, books on object-oriented design patterns (GoF) come in. Just because because you know what classes and inheritance are does not mean you will use them effectively. I cannot emphasise the importance of step 3 enough when architecting applications. If you are a coder, simply knowing OOP is fine, as an architect it is simply not enough.
In terms of organization, the book starts simple and builds on previous chapters in a very organized way. In the first chapter Booch delves into the philosophy of OOP and complex systems. This kind of broad introduction serves well as a way to show where OO analysis and design stand relative to other engineering disciplines.
The only problem I had with the book is the fact that it is a bit dated. It does not use UML (although what it uses is very similar) and even has a chapter devoted to client/server computing. (however, it also has a chapter on AI). If it were not for this its datedness, I would have easily given it 5/5.
Overall a great book from one of the father's of modern objected oriented analysis/design.