To paraphrase Tony Hoare: this book is not only an improvement on most of its predecessors, but also on
nearly all its successors. I'm exaggerating, but only slightly.
Of the three chapters, I enjoyed Dijkstra's ---the first one--- the most. Despite his sometimes baroque prose, the technical content is wonderful. It's not only a lucid and honest look at what it means to be a programmer, but also a brilliant effort to make programming more systematic and manageable. While we take for granted most of the ideas in Dijkstra's monograph, a good deal of them were new and very controversial at the time (some still are).
While admittedly small, the sample programs are some of the best examples of incremental development I've seen: from problem analysis, through incremental refinement and judicious use of abstraction, to finished programs. That being said, Dijkstra's method of guiding the reader through the incremental refinement of the program can end up being confusing and hard to follow. Knuth's literate programming is a welcome refinement.
The second chapter, Tony Hoare's, is a catalogue of (mostly) elementary data structures. The systematic approach and breadth of coverage makes it a worthwhile read. As another reviewer noted, this can be seen as a precursor to Stepanov's later Generic Programming. The hypothetical programming language Hoare uses for his examples feels strikingly contemporary. Keep in mind that this is the late 60s/early 70s. Fortran still insists on guessing the types from the first letter of the identifier and C is probably still called B.
The third and final chapter is a monograph on object oriented programming in Simula 67. It's not called as such, but that's what it is. You can witness the genesis of OOP: classes, instances, inheritance, mixins, modules, pass by reference, garbage collection, it's all there. And on top of all that, Simula 67 had first class support for both symmetric and asymmetric coroutines.
Yes, the book has its shortcomings, viz. Dijkstra's occasionally baroque English; Hoare's somewhat hand wavy treatment of hairier aspects of data structure representation which are either summarily dealt with in a couple of sentences ---where Knuth gives them considerably more space--- or left as exercises to the reader; and the somewhat haphazard nature of Dahl's monograph. But these issues don't detract from what this book fundamentally is: groundbreaking. It lays the foundations for the next half a decade of computing.