A character controller is used to move around characters in the physics world. The character is simplified down to a bounding volume and when it moves it does not do it in a physically realistic way. That is mostly evident on the player character in third-person or first-person games.
Dynamic vs Kinematic
There are two ways to make the character controller interact with the rest of the physics way. It can be dynamic or kinematic. With a Dynamic CC you get the basic physic and then you add special cases for when you do not need physics. With a Kinematic CC you add the special cases to get the everything including the physics to work.
A DCC is added as a shape to the physics system with a limit on rotation so it does not fall over. To move it around set the velocity or force.
The character controller use a bounding volume to simulate the character and the two common ones are an AABB or a capsule.
An AABB has fixed rotation to avoid the problem of the player getting stuck when rotating. It is made up of a center position and an size vector.
A capsule has a center position, a height and a radius. The height is the distance between the two spheres at end end of the capsule. A capsule is a better choice for climbing stairs.
A way to change the size of the character volume if he crouch for example.