It means that result will be accurate with +/- 0.00% precision.
>Who needs approximate result?
everybody who needs speed.
>Is uniq reliable?
yes
create table u(I Int64) Engine=MergeTree() order by tuple();
insert into u select cityHash64(number) from numbers(100000000);
select uniq(I) from u;
┌───uniq(I)─┐
│ 100107766 │
└───────────┘
1 rows in set. Elapsed: 0.310 sec. Processed 100.00 million rows
select uniqExact(I) from u;
┌─uniqExact(I)─┐
│ 100000000 │
└──────────────┘
1 rows in set. Elapsed: 8.840 sec. Processed 100.00 million rows
As you can see uniq is 20 times faster. But brought 0.1% error.
There is more functions:
SELECT uniqCombined(20, I) FROM u
┌─uniqCombined(20, I)─┐
│ 100001110 │
└─────────────────────┘
error is 0.001%