Understanding working of MPPT charger

I think that is 100 percent correct. Technically, the charge controller will adjust itself to extract maximum available power from the panel.

If the input voltage needs to change, the controller will change it.

But the nature of the solar panel is that MPPT voltage only changes a little bit with changing light conditions. So that is why the solar panel voltage will stay the same.

In fact, the way the charge controller probably works is by changing its duty cycle (it will be a buck converter) up and down and watching to see what effect it has on the battery charge current. It will always keep the duty cycle at the value that produces maximum charge current. And this will also result in the solar panel output voltage being relatively constant.

Note that depending on the battery state of charge, the battery may not be able to accept the maximum power available. If that happens, then the controller will no longer perform maximum power point tracking. Instead, it will extract just enough power to charge the battery according to the charge algorithm.

A solar panel is a current source over most of its characteristic; the voltage it shows is "set" by what you connect to it.

When you connect a battery to it, the voltage will be set by that battery; connect a charger to it, and the voltage will be set by the input impedance of that charger. This voltage may be nowhere near the voltage at the MPP; for instance, a 5V battery wouldn't be a good match for a 12V solar panel.

The idea of an MPPT is to keep the panel producing maximum power under all circumstances. The MPP is where V * I is maximal, or the maximum rectangular area that will fit under the panel's I/V characteristic, about 10W in this example:

MPP graph

(Image source - my website: Using a solar panel for USB charging)

Suppose you connect a 5V-output DC/DC converter to a solar panel; it would work fine, but it would set its input impedance (by varying the PWM) to a point that doesn't use the full power of the solar panel (the "you are here" point), only about 3W of the available 10W.

By varying the input impedance, you can arrive at the MPP. The optimal way of doing that is by varying the input impedance of the DC/DC converter and measuring if more power is delivered at its output.

A simpler (but less efficient) way is setting a fixed point on or near the MPP, say 16V, and reduce the input current of the DC/DC converter (by varying its input impedance by varying the PWM) when the panel voltage drops below that 16V. This method if often used these days for small applications.

In both methods, the input of the DC/DC converter is regulated, not its output, the output behaving like a current source.

The charger is a separate part of the system, and has its own regulation for correctly charging your batteries, using the output of the DC/DC converter.

Your line of thinking is correct. Think of current changes in terms of a cloudy day. Using a 12V solar panel, you will get the output voltage between 12.6 (very cloudy) to about 13.5 (very sunny). The current between these voltage variations also varies. MPPT solar chargers are supposed to be more efficient than PWM as you might have read already. MPPT are about 8-12% more efficient.

The solar charger regulates the voltage in accordance with the amount of charge the batteries have obtained while charging. A fully charged battery will be at 13.4V for a 12V lead acid battery whereas for 6V battery, it might be around 7.2V.

I hope this answers your question.