This is a fairly short (160 page) gallop through UML2. It's short and to the point, and mostly this gets across the gist of what you need to know. There are times where it strays a bit too far into terseness, and some of the text really needs to be broken up with specific examples closer to the descriptions. Particularly, the text sometimes ploughs on with some quite dense descriptions and no visual example, or has a reference to a diagram several pages away, neither of which make for easy reading.
Conversely, Fowler is refreshingly pragmatic, and there's a great quote in chapter 2 that sums up the pragmatic approach: "Be prepared to break the rules of the UML at any time if it helps you communicate better. The biggest risk with using the UML in analysis is that you draw diagrams that the domain experts don't fully understand. A diagram that isn't understood by the people who know the domain is worse than useless; all it does is breed a false sense of confidence for the development team". Contrast this with 'Domain-Driven Design: Tackling Complexity in the Heart of Software', where UML class diagrams are promoted as a communication medium with non-technical customers, mainly to ease the path towards maintenance of a single model, an approach I'm still pretty sceptical about. He also includes examples of non-standard notation which can be used to bend the usage of certain models beyond their normative use (eg, using message passing on class diagrams)
While Fowler's text can be a bit dense at times, he is also not afraid to point out area where the UML 2 definition is weak - typically in barely perceptible differences between symbols which imply huge differences in meaning - for example, the difference between a "stick" arrowhead and a "filled" arrowhead on a sequence diagram (this type of thing is a particular bugbear of mine - the different meaning of the various permutations of solid & dotted lines and closed & open arrowheads on class diagrams being another example: this may be self-evident to aficionados, but it's very non-intuitive to any non-experts sharing the diagrams. Still, can't blame the book for that!)
All in all, a good book if you're looking to expand your familiarity with UML, but I'm not sure that I would want to learn from it as a first book. Overall, I think UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition) edges it, though that does have the advantage of 3x the page-count to get the information across.