It is the wrong fit when exact counts are required for billing, compliance, or money movement.
That is why a small proof of concept matters before adoption. Feed HyperLogLog with realistic traffic and compare the approximate result against an exact set on a sample dataset. The memory win is often excellent, but the acceptable error rate should be verified against the actual product use case, not assumed from a blog post.
That is the pattern with Redis data structures generally: each one encodes a useful trade.
Think in Problem Shapes
Redis becomes more powerful when you ask:
do I need exactness or approximation?
do I need ordering?
do I need uniqueness?
do I need time-window behavior?
That leads naturally to sorted sets, bitmaps, HyperLogLog, streams, and the rest of the toolbox.