The difference is that terminating a process does not affect your current process from which you are calling the termination.
Terminating a thread has the posibility to do just that, it may corrupt the process memory you are running it in. (This heavily depends on what is going on in the thread you are terminating and your gues is as good as mine)
As this thread asked for best practice for what to do with a stalled thread:
Do nothing, let it finish or try to build in a way for it to eventually finish without terminating it.
If this is not a possibility and you just have to have a way to end it forcefully, let it run in a different process, isolated from your own.