how to add input to pawn?

I am followig this tutorial
but i do not undesrtand few things.

  1. Why we create custom PawnMovementComponent and inherit from UPawnMovementComponent, instead of using only UPawnMovementComponent
    I already know UPawnMovementComponent not going to work, bud i dont know why.
  2. Is it possible to add input directly to the pawn, not create component?
  3. If we must create evrything with pawn class, why use pawn not actor?