A denormalised projection built for a dashboard that was specified, prioritised and then never scheduled.
what it cost, over eight months:
the projection itself 4 days
keeping it in sync a subscriber, and 3 bugs
the backfill after each ~2 hours, five times
schema change
the confusion two people queried it
instead of the source and
got stale numbers
what it was used for: nothing.
The projection was the right shape for a requirement that did not arrive, and the cost was not the four days — it was the eight months of a second copy of the truth that had to be maintained and that people found. Deleting it took an afternoon. The rule since is that a read model is built when the query that needs it is measured and slow, not when it is anticipated.