Making a button forget its address used to mean holding it while powering up, which is awkward in the middle of a chain. Now it's a gesture: hold for 10 seconds and it blinks blue as a warning, keep holding to 15 and it flashes red and forgets. Let go earlier and nothing happens.
It looked perfect: blue, red, then orange, "I'm new". Yet the ESP32 kept getting presses from it. The reset had cleared the address in memory, but nobody told the I²C hardware, which kept answering on the old number. Learning reconfigured the hardware; resetting never did. One small change fixed it.
There was a second culprit: my test sketch only looked for new buttons once, at startup, so a reset button was never taught again until a reboot. It looked exactly like "reset broke learning". When something looks broken, check whether your test is broken too.