Why do we need RaycastAll for combat, but not movement

We are using RaycastAll because the CombatTarget could be blocked by a tree; however, if the terrain were obscured by a tree, why does simply using RaycastHit work for movement?

When we raycast in InteractWithMovement, we’re getting the closest point on the NavMesh to hit.point. This affords us a little leeway in our Raycast.