Sorry, I have a tendency to be terse... PWM=Pulse Width Modulation is (in this context anyway) just a fancy term for a technique that's used to flip a digital switch on and off in order to drive some analog device (like a heating element or a fan) at less than 100% output. Terms and details vary but the basic idea is that you have some fixed time period that is broken up into two parts: an 'on duty' cycle and an 'off duty' cycle. During the on duty cycle (or just 'duty cycle'), the digital switch that controls the analog device is ON and during the off duty cycle, the switch is OFF. If we want to average 60% power over a 10 second period using this technique, for example, we'd just use a 6 second duty cycle (10 seconds * 60%) - the switch would be on for 6 seconds, off for [the remaining] 4 seconds, then back on for 6 seconds, and so on.
The period used is selected based on the device you're trying to control. Generally, the more slowly a device reacts to the input, the longer the period should be - heating elements, in particular, are notorious for taking a relatively long time to heat up and cool down (thermal inertia) and PWM periods on the order of seconds are usually appropriate.
Naturally, there's always a better way to skin a cat (is there really a bad way?) and that's where zero cross detection apparently comes into the story. It turns out that some analog devices react badly (or at least perform sub-optimally) to being switched on/off at arbitrary points in the AC cycle, as is necessarily the case with the simple PWM technique whose period/duty cycle is independent/ignorant of the AC signal powering the analog device. By anchoring the period/duty cycle to the moment in time when the AC signal is 0V (zero cross), the analog device can be switched on/off in a more optimal/appropriate/phase aware manner for that particular device.
Let's say that you're a resistance heating element and you do your best work near the positive and negative peaks of your power signal but while your power signal is near zero volts, eh not so much. Using PWM+zero cross, the logic driving you can be mindful of the phase of your power signal and switch you on during the most 'productive' portion of the cycle, while switching you off during the least productive portion. Now you're a happy and efficient heating element, rather than one that's being turned completely off for four seconds at a time and causing coffee beans to put on little parkas.
Hopefully someone will correct me if any of this over-simplified, narrow-perspective description is wrong... I'm just a hobbyist at best with the electronics stuff, my area is primarily software.