Basic question: Why is the output of a system the convolution between the impulse response and the input?
Because it is the response of the system when an unit impulse (delta function) is applied to the input of the system. So basically, If you  multiply this output impulse response of the system to each of the input samples and then add them all, you get the overall output of the system. And this is only true, If the system agrees with the linearity properties such as homogeneity, additivity and shift invariance. For more details and to understand the mathematics behind this, you can go through this link: http://www.dspguide.com/ch6.htm

I tried to put this as comment instead of answer, since its not detailed enough, however, due to my lack of reputation, I could not comment. Anyways, the link I have provided is very useful. Hope it helps!