Why is it preferable to use the generic form of GetComponent() over the string version?
And, what are generics, exactly?
Why is it preferable to use the generic form of GetComponent() over the string version?
And, what are generics, exactly?
Because you leave the compiler to work out what the type is, and you do not have to provide it in the source code.
See Generic classes and methods | Microsoft Learn for more details.