“button” reacts to MIDI controller messages alternating between “pressed” and “released”. For consecutive presses of a “button”, there need to be controller values like “127 - 0 - 127 - 0”; it will not react to “127 - 127 - 127 - 127”. A “no-edge-button” will react to any non-zero MIDI value.
This may be quite helpful if you have a continuous controller that you need to switch something. Imagine using your modulation wheel to trigger some event: using “button”, the event will only be triggered once the mod wheel crosses the value 64, then Cantabile will ignore all further values > 64 until the mod wheel has come back down below 64. Using “no-edge-button” would trigger the event on any movement of your mod wheel.
TL;DR: Essentially use “button” for triggering something with continuous controllers or for buttons that send 127 (or something else > 64) when pressed and 0 when released. Use “no-edge-button” for buttons that ONLY send a controller value when pressed and nothing when released.
Cheers,
Torsten