A device is "triggered" if has a "trigger" input which governs some
action, such as the the sampling of its remaining input. A single input can't
be triggered.
A device is "level triggered" if it continuously samples its inputs,
or takes some other action, while the trigger input is at the triggering logic
level. A device is "edge triggered" if it samples its inputs only for a brief
moment in time when the trigger is transitioning between logic levels (usually
in a particular direction: rising ("positive edge trigger") or falling
("negative edge trigger")).
Edge triggering is useful because it allows sequential circuits to be easily
constructed which feed their outputs back to their inputs. The narrow sampling
period of the edge trigger means that devices can sample their own outputs so
fast, that those outputs have no time to change by the time the sampling is
done, preventing feedback chaos. Under level triggering, it is more
complicated. The feedback circuit has to be split into interlocking parts
which react to opposite levels of the trigger (or "phases of the clock"), so at
no point in time is there a closed feedback loop leading to chaos. The end
result is that edge-triggering is simulated, using more paorts. As an example,
an edge-triggered D-flip-flop can be constructed from two level-triggered D
flip-flops. They are cascaded together, and one of them gets the trigger signal
inverted relative to the other. This is called the "master-slave
edge-triggered D flip-flop", and it is called "edge triggered" because the
arrangement de-facto looks like edge triggering.
In software, level triggering corresponds to polling a trigger input
continously and taking spontaneous actions based on its instantaneous value.
Keypad example: while an arrow key is held down, a counter on the display
keeps decrementing.
Edge triggering corresponds to getting an event. Keypad example:
the keypad driver generates "key up" and "key down" events for the key
as it changes state. The software decrements the display when it receives
a "key down" event designating the arrow key as the source, and so
that key acts as an edge trigger. This could be done by hardware: we could
have a hardware circuit which debounces the key, and also have the hardware
generate an interrupt when the pin changes state. Or the processor could do all
this in software: periodically sample the pin, debounce the samples and
announce the event.