What is the use of ApplyRepulsionForce?

In CharacterMovementComponent.cpp you can find a Function named ApplyRepulsionForce The comment in the header file says

“Applies repulsion force to all
touched components.”

What is it exactly needed for? is it to keep colliding things away from the character? if yes then why not let character’s motion push them around naturally?

I like to know too.