I think the reason DSP is preceived as difficult to understand, is because traditional book/class tend to spend most of the time solving equations such as DFT, FFT, Z-transform of different signal (pulse, unit step, sinusoidal, square, triangular etc), differential equation to get zero and pole, stability, then bilinear transformation etc. As a result, students might spend all the time doing mathematics, than trying to understand what DSP is and how to apply it to real world.
This book reduce the mathematics and proof to minimum when required, rather than throwing you all the equations and explanation at one time. For example, I dont always why other authors always try to explain the details of non-causal system since they usually say real time system is always causal and hence ignore the non-causal DSP design.
I particularly like the exercise and MATLAB code. They are incredibly simple, but are very useful to aid understanding and cover almost all aspect of a DSP system, from equalizing ADC quantising noise, through to multirate DSP (which is rarely touched by most of the fundamental DSP books). The MATLAB code allows the reader to design filter and visualise the signal and its frequency spectrum very quickly. I think it is more important for beginner to first understand the concept of DSP using MATLAB, than trying to solve the mathematics, try to write C-code for FFT and plotting graph.
As I mentioned, the mathematics is not detailed in this book. This is a double edge sword. Reader should have good knowledge on FFT, Z-transform. I recommend reading "Understanding Digital Signal Processing" by Lyons beforehand, which provide very good explanation on fundamental DSP theory and mathematics.
This is the most useful DSP book I have ever read!!!!