Difference between system files charging_enabled vs battery_charging_enabled
I had mailed this to developer requesting to answer here , instead he answered on mail to me. Quoting verbatim

You are right. Different control files behave differently. battery_charging_enabled tries to maintain the charge. It takes required power from charger, and it didn't charge/discharge battery. This behaviour is ideal, and if it works, then you should be using it.
charging_enabled completely cuts off power supply from cable. This case we need the threshold limit to start charging again
I have a OnePlus 3, I have both files, but the former doesn't work. I have no choice but to use the latter.