The cost shape is the part teams model last and regret first. A retrieval system sends a few thousand tokens of selected passages per query, roughly independent of how large the corpus is. A long-context system sends the whole assembled context on every request, so the per-query cost scales with the size of the material rather than with the difficulty of the question. At one query a day the difference is a rounding error. At tens of thousands, it is the line item somebody in finance asks about, and the ratio between the two is roughly the ratio between the assembled context and the selected passages.
Prompt caching changes this, conditionally. Where a large prefix is stable and reused — the same handbook, the same codebase, the same policy set, for many queries — caching substantially reduces both the cost and the time to first token on a hit, and it makes long context far more defensible than the raw arithmetic suggests. The conditions are the whole story: the prefix must be stable, so a context reassembled per user or per query gets few hits; caches expire, so low-traffic paths pay full price most of the time; and the cacheable material must sit at the front, which constrains how you order context at exactly the moment the previous section told you to order it by importance. Confirm the current cache lifetimes and pricing against the provider's current terms rather than a figure from a blog post, including ours.
Latency runs the same way in both directions and is worth measuring rather than assuming. Retrieval adds a search round trip, typically tens of milliseconds against a well-built index. Long context removes that and adds prefill time over a much larger prompt. Which is faster depends on your corpus size, your index and whether you are getting cache hits — so it belongs in a benchmark on your own data, not in an argument.