PlayerController and Character Children

Hey, so i was wondering, what is the difference between

Making a character with all basic code and then make a child from it and do more specific code


Making a character with the specific code, and then make a playerController

And/Or should i use both if im gonna be able to switch between different characters in-game?