Simply put:
Scrum is a method for delivering knowledge work
Kanban is a method for understanding improving your delivery of knowledge work.
Scrum tells you how to go about delivering something, Kanban tells you how to go about improving the way you currently deliver things. When you think of them like this, it’s pretty obvious that using them together makes sense. Scrum says how to start delivery, and tells you to inspect and adapt without much guidance on how that improvement can be made. Kanban says let’s describe your delivery method whatever that currently is, which could well be scrum, and this is how you go about improving. This isn’t describing a hybrid of Scrum and Kanban, it is doing all of each. You could describe it as scrum, and you could describe it as Kanban and be equally correct, and frankly it wouldn’t really matter what you call it anyway.
If you are doing scrum, and want to come up with a way to improve your current service delivery, then give Kanban a whirl ON TOP of your scrum, not instead of it. If you want to start implementing Kanban on a new, yet to start service, and need an initial way to start your service delivery, then give scrum a go. They are not alternatives, they are complEmentary (rather than complImentary).
Scrum is from Mars, Kanban is from Venus.
The official definitions are
“Scrum is a framework for developing, delivering, and sustaining complex products.”
– The Scrum Guide, Ken Schwaber and Jeff Sutherland
“Kanban is a method for defining, managing, and improving services that deliver knowledge work, such as professional services, creative endeavors, and the design of both physical and software products”
– Essential Kanban Condensed, Anderson and Carmichael