What does hₖ[n] mean here?
\$h_k[n]\$ is the impulse response.
Output \$y[n]\$ is equal to \$h_k[n]\$ if the input \$x[n] = \delta_k[n]\$ (unit impulse shifted by \$k\$ samples).
In the general case where \$x[n]\neq\delta_k[n]\$, it can be represented as the sum of several time shifted impulses. \$x[n] = \sum_{k=-\infty}{x[k] \delta_k[n]}\$.
To find the output, we have to take each value \$x[k]\$ in the input sequence, find its response \$x[k] \cdot h_k[n]\$ and add all the responses together to find the output (\$\sum_k(\cdot)\$). That addition is shown in equation (2.3)
\$h_k[n]\$ is the response of the system if the input was a single impulse shifted in time by \$k\$ samples. It is an impulse response.
It is the linearity property which allows us to split the input \$x[n]\$ into shifted impulses and later add the results back together to get the output.
The bottom left plot represents the input and bottom right plot represents the output. To get from input to output, we first split the input into impulses. That is shown on the top four, plots on the left. since they are impulses, and if we know the impulse responses, we get the top four plots on the right. They are impulse responses for the corresponding impulses. These are added to get the final response (valid because of the linearity property).