ACharacter class. Is this meant for only the 'player' character or all upright human-like characters in the game?

ACharacter is a child of APawn class. Both of them can be possessed by players and AI.
But ACharacter is a bit extended. It has a movement component with replication.

You should use ACharacter for all human-like species in your game. But for example, to implement a drone or anything with unusual movement it might be better to use APawn.