Harnessing Complexity is a gentle introduction to "complex systems": populations of heterogeneous agents that interact, learn, evolves, etc. Such systems exhibit unexpected behaviours, with sudden changes of regime, cycles, oscillations or tipping points to name a few. The text focuses on three key aspects, namely variation, interaction, and selection. Variation mainly results in multiple species whose agents apply different strategies; interaction refers to the alternative interaction, be it in a physical universe (e.g., natural landscape) or in a conceptual one (e.g., a company hierarchy), whereas selection covers which agents survive.
I found the book very easy to read compared for instance to "Complex Adaptive Systems: An Introduction to Computational Models of Social Life" by J. H. Miller. Yet, having read other books on the subject including several texts from J. Holland, I did not get much more beyond what I already knew. While I would certainly recommend it as an introduction, I would rather orient complex systems "connoisseurs" towards more specific text, on chaos theory or on learning classifier systems for instance.