Suppose one wishes to communicate information using a noisy channel $N$ instead of an ideal channel $I$. The general framework to communicate reliably is 
1. Take $n$ copies of $N$.
2. For some encoder $E_n$ and decoder $D_n$, we can send messages at a rate $R_n$ using $N^{\otimes n}$ with error $\varepsilon_n$. 
3. If it holds that $\lim_{n\rightarrow\infty}\varepsilon_n = 0$ and $\lim_{n\rightarrow\infty}R_n = R$, then we say we can communicate at the rate $R$ using the noisy channel.

On the other hand, the case of quantum circuits is quite different. Suppose we have an ideal unitary $U$ and a noisy circuit $\tilde{U}$ that tries to achieve this unitary. The usual error correction setting is quite different. The broad ideas there are
1. Encode the input state to the circuit into a larger space e.g. 1 logical qubit into 9 physical qubits.
2. Look for fault tolerant gates - i.e. the gate error should be correctable using the ideas in Step 1. 

Why are these two error correction tasks analysed in fundamentally different ways? In particular, QEC for circuits never looks at taking one-shot results for a single circuit and making asymptotic results for many i.i.d copies of that circuit - but why?

My thinking: For circuits, the errors are assumed to be *a prior* "large" e.g. you have a bit flip which takes your state very far from the input state. In the analysis of channels, it seems like we allow the $\varepsilon_n$ error in communication to be arbitrarily small in the one-shot setting and then make asymptotic results from there. This doesn't answer the question fully though - it just makes me wonder why we think of errors in two very different ways.