Full Answer
Client-side tracking only knows what the browser tells it, and the browser is an unreliable narrator. Add up the leaks, ad blockers used by a large share of visitors, Safari and Brave privacy defences, cookie-consent banners that suppress firing until or unless the user opts in, and scripts that simply don't survive a page transition, and stores commonly lose somewhere between 30 and 50 percent of their attribution data.
Certain events are hit hardest. Purchases where the customer is bounced to PayPal, Stripe, or a bank 3-D Secure page and back often never fire the purchase pixel, because the thank-you page didn't load the script in the expected sequence. Conversions on iOS Safari quietly vanish as ITP expires the identifier. Consent-gated events never fire for the majority of EU visitors who decline. Ad blockers strip the request outright. None of these are edge cases; together they're the bulk of the gap.
Server-side tracking captures them because it doesn't depend on the browser cooperating. The WooCommerce purchase hook fires when the order is actually created, on your server, with the real order value and customer data attached, whether or not a pixel ran in the browser. You're recording the conversion at the moment of truth, the database write, rather than hoping a fragile chain of client-side scripts survived the journey.