Approximate aggregates trade exactness for lower resource use on large inputs. APPROX_COUNT_DISTINCT(customer_id) estimates distinct non-NULL customers. It doesn't count orders, and its error isn't a fixed allowance you can apply to every dataset. Use an exact count when a reconciliation or contractual threshold requires an exact answer.
APPROX_QUANTILES(value, 4) returns five boundaries: the minimum, three interior boundaries and the maximum. The middle boundary at OFFSET(2) estimates the median. NULL values are ignored by default. An average answers a different question and can move sharply when one outlier arrives.
This practice engine uses local approximate implementations. Results teach syntax and grouping, but aren't predictions of Google's exact estimator output, error or performance. On a tiny fixture, an approximation may save little and may match the exact result. Choose the function because the reporting requirement permits an estimate, not because its name sounds faster.