What is the difference? Internal based training is when muscle contraction is generated voluntarily without the use of an external load (kettlebell, barbell, dumbbell, etc). External training is of course when you use an external source to train the body.
When would I use each? Internal based training allows you to access different layers of tissue in a very specific way. We have to remember that your brain/body doesn’t register “oh that is a dumbbell so we are getting strong today” it just registers how much tissue you are recruiting, how much force it is under, and for how long. Without adding external load you can train at an intense level with the right coaching. This will help you maximize what you already have and teach the brain about all the current options. Since my vocation is heavy in rehabilitation it can be safer at first, case depending.
External based training can be used in conjunction with internal based training. What I like to do is prime the tissue I am going to train with some internal based training then hit it with the external so I can load the heck out the tissue but much more specifically. The advantage to external based training is load. With weights you can add an infinite amount but also I would argue that external load can be a way of cueing the movement or targeted tissue for some athletes.