Which does your team prefer? Personally, Scrum is far too regimented, compartmentalized and proceduralized. Kanban feels like it lets teams self-organize better and is thus truer to the original Agile Manifesto goals.
Scrum is better for a more junior team that's less capable of self-organizing and needs more structure. It's also better for a green-field project where you're shipping new features on a regular basis and you want to set targets for completing them. It works well with larger chunks of work and is less flexible around things like prioritizing newly discovered production bugs.
Kanban requires a team of more senior and self-sufficient engineers who can manage their own work. It's also better for projects that are largely in a maintenance phase where you're constantly picking which fix to work on next out of your backlog.
Finally, scrum makes more sense for packaged software where you want to get into a regular rhythm of releases or where you have to bless defined releases (eg for App Store review). Kanban matches well with continuous delivery web environments where you never develop significant inventory of undelivered changes.
Edited to add: one more thing - scrum enforces certain types of communication about your project that with kanban you have to rely on company culture or external processes to manage. This tends to make scrum more effective the larger your engineering organization is.
Kanban requires a team of more senior and self-sufficient engineers who can manage their own work. It's also better for projects that are largely in a maintenance phase where you're constantly picking which fix to work on next out of your backlog.
Finally, scrum makes more sense for packaged software where you want to get into a regular rhythm of releases or where you have to bless defined releases (eg for App Store review). Kanban matches well with continuous delivery web environments where you never develop significant inventory of undelivered changes.
Edited to add: one more thing - scrum enforces certain types of communication about your project that with kanban you have to rely on company culture or external processes to manage. This tends to make scrum more effective the larger your engineering organization is.