What is the difference b/w and use cases of GetComponentByClass and FindComponentByClass?

Digging into this it seems completely arbitrary.

Templated GetComponentByClass simply calls class templated FindComponentByClass.

template
T* GetComponentByClass() const
{
return FindComponentByClass();
}

But if you want to get components implementing an interface, you either use FindComponentByInterface for a single component (returns AActor*) or GetComponentsByInterface for multiple components (returns TArray). There isn’t a GetComponentByInterface or a FindComponentsByInterface.

I’d chalk it up to another one of UE’s “constant iteration” pitfalls.