Generally, plugins have some functionality hooked onto the deactivation action. This could be clearing cache, resetting options, you name it.
Therefore the best practice is to deactivate them first, so they have the opportunity to clean up and execute whatever functionality they have hooked onto the deactivate event.
Now if the plugin is broken and can't be executed, or if the deactivation function does something you don't want or is broken in itself, you might need to delete it without running that functionality. In my experience, nothing bad really happens, except some junk files being left.
This can be different depending on the plugin however, so always excercise caution with this type of forced deletion.