PWM and MPPT are 2 main ways for solar DC charge to the battery.
PWM, short for Pulse Width Modulation, is a technology to use a certain part of voltage from the PV modules, to charge according to the battery actual voltage. For example, if we use a 18V solar panel, to charge a 12V battery bank by a PWM controller, and supposed the battery now is on voltage of 12.8V, then PWM controller would take 12.8V from the panel to charge, but this voltage would change when the battery voltage changes, so we may also lose the part of PV voltage above the battery value. That’s why we always say PWM is lower in charge efficiency, and commonly we may have a rate of 70-80% as the PWM charge efficiency. Please notice that if you use 30 or 36V PV module to charge the 12V battery bank, then most of the PV voltages would be wasted because normally no higher than 16V PV voltage would be used for PWM charge on 12V battery system.
MPPT, short for Maximum Power Point Track, is a technology to track and use most of the PV power to charge the battery. There are several kinds of MPPT tracking methods, but all are leading to make full use of solar power. The difference is about the adjustment of the MPPT technology to different applications. As you can see, MPPT is to try to make full use of PV power, and this is the biggest advantage over the PWM. Considering of the unavoidable power loss, the MPPT charge efficiency is supposed to be over 95% averagely, and could be up to 98% in the peak time.