An SSVR also does PWM of a type known as phase angle firing. In this case the pulse period is 1 / 2X line frequency, or 8.33 msec for 60Hz power. At 25% power the triac in the SSR is gated "on" for 2.08 msec, at 50% triac is on for 4.16 msec, and at 75% triac is on for 6.25 msec. Now because the voltage varies as a sine wave, the power delivered at a 25% setting is less than 25%, at 50% setting power is 50%, and at a 75% setting power is more than 75%. (I'm too lazy to figure out the actual power at 25% and 75% as the math involves integrating a sin^2 function.)
In the case of a PID driving an SSR, the PWM pulse period is usually 1 or 2 seconds. For a 1 second period at 25% power, the triac in the SSR will be gated "on" for 0.25 sec, and will pass 30 half cycles of the 60 Hz waveform. At 50% the triac will be on for 0.5 sec, and pass 60 half cycles, etc. With this form of PWM, the power delivered is linear with the power setting (i.e. you actually get 25% power at at 25% setting, unlike with an SSVR.)
The SSVR provides a little smoother power, but with more electrical noise (because of the non-zero crossing switching.) With SSR's and cycle times of 2 sec or greater, folks have noticed "pulsing" variations in boil intensity, but this is not known to cause any actual problems.
There is a third form of power modulation used by Auber EZBoil controllers (driving SSR's) that can be described as Pulse Count Modulation. I won''t go into detail on it here, but like PWM it provides linear setting vs. power delivery, and like SSVR's provides shorter effective cycle times for smoother power delivery.
Brew on