What is a charge controller?
A charge controller or charge regulator is basically a voltage current regulator to keep batteries from overcharging. It regulates the voltage and current flow from the solar panels to the batteries.
Types of charge controllers
PWM (pulse width modulation) or MPPT (multiple power point tracker)
The PWM controller is in essence a switch that connects a solar array to a battery. The result is that the voltage of the array will be pulled down to match the battery.
The MPPT is more sophisticated (and more expensive): it will adjust its input to harvest the maximum power from the solar array and then transform this power to supply the varying voltage requirement, of the battery plus load. Thus essentially it decouples the array and the battery voltages so that they can be, for example, a 12 volt battery on one side of the MPPT charge controller and a large number of cells wired in series to produce 24v or 48V.