remember that once you trigger triac or scr, they remain 'on' as long as power is present.
in ac circuit that happens when crossing zero. if you when zero occurs, you can use your circuit to create delay before issuing trigger.
suppose your AC is 50Hz. that means that length of period is 1/50=0.020sec (20ms).
one halfperiod is then 10ms. suppose you can manage delay that can be adjusted 0...10ms.
this circuit will be triggered after every zero crossing, which in this case is every 10ms...
if delay is 0ms, trigger is issued right after zero crossing so triac will turn on and stay on for entire 10ms (until next zero). if the load is light, it would be at full brightness.
if delay is 5ms, trigger is delayed so at first triac is off and then it is turned in (after 5ms delay) so it only conducts half of the time. if the load is light, it would be at half brightness.
if delay is max (ie almost 10ms), then triac will barely have a chance to turn on before zero turns it off. very little power is transferred and if load is light, it would be (or appear to be) off....
as you can see changing one parameter such as delay allows control of load in wide range. note that far we only mention non-reactive loads (incandescent light, heaters etc.). actually there is better way to control heaters to eliminate transients. inductive loads are also common (motors) but require special consideration.