I have a basic idea what zero cross for but I still don't understand why do we need to have one in the circuit (not every circuit). What is the purpose or benefit of using zero cross that connects to a micro-controller?
If you are referring to AC solid-state relays, they use a zero-crossing circuit to trigger the turn-on of the Triac at the zero voltage crossing point of the mains sinewave to minimize the start-up current surge and EMI generation.