Is debris a problem? I think the ideal would be to embed or clamp a rocket on the target.
https://en.wikipedia.org/wiki/Mass_driver
You build a little factory and use chunks of the asteroid itself as thrust.
Some have suggested attaching a solar shield to objects to add drag to alter the course. However, that would require a much more precise landing and some sort of drilling/anchoring effort. A kinetic impact like this is always going to be more efficient.
A lot of asteroids are much less solid than we used to think. Some of them are big rocks, but many of them are just piles of sand- and gravel-sized material loosely held together by gravity. Clamps work great on the solid rock type, but many of the alternative methods - including smashing into it - work on asteroids of any composition
That's valuable not only for versatility, but also because it would really suck to send a spacecraft on a redirect mission only to find out that our assumptions about the asteroid's composition were wrong