Convolution is the operation that made neural networks work on images.
A dense layer would connect every pixel to every neuron, which is hopeless at scale.
One layer on a small colour image would need tens of millions of weights.
It would also have to learn what an edge is separately for every location.
Convolution slides a small grid of weights across the image instead.
At each position it multiplies overlapping numbers and sums them into a single output value.
That small grid is the kernel, and 3 by 3 is the usual size.
The same kernel is used at every position, which is called weight sharing.
So a pattern learned in one corner is detected anywhere in the image for free.
That is the right assumption for images, since an edge is an edge wherever it appears.
It also cuts the parameter count enormously, from millions to a few dozen per filter.
The output is a feature map showing where in the image that pattern was found.
Stacking convolutions widens what each output can see, which is the receptive field.
Early layers therefore see detail and later ones see structure.
The kernel weights are learned by ordinary backpropagation, not designed by hand.