Combat Component is used to store data and functions related to combat

Thanks to that, combat logic and data can be accessed from other places in the system without need to cast to specific character blueprint.
For example animation blueprint uses it to get info about current combat style and weapon type and plays different animations based on that.

Another benefit is that it makes it easier to completely replace default character blueprint with new one
as a lot of combat logic is contained within this Combat Component that we can simply add to new character blueprint.