The guide
A convolution is a small matrix slid across an image, multiplying and summing as it goes. That is it. The reason it beat fully connected layers on images is that it bakes in two facts about pictures: a feature is the same feature wherever it appears, and nearby pixels matter to each other more than distant ones.
Those assumptions buy an enormous reduction in parameters. A dense layer on a modest image has millions of weights; a convolution has as many as fit in the kernel, reused everywhere.
The rest is plumbing that has to be exactly right. Output sizes from stride and padding, channel bookkeeping in multi-channel convolution, and IoU and non-max suppression for turning a pile of overlapping boxes into a set of detections.