What the feed-forward network adds
Self-attention only recombines the vectors already present, so on its own it cannot create a new feature from a single position. The feed-forward network is applied to each position separately: it projects the vector up to a wider intermediate dimension, applies a nonlinearity, and projects back down. Because it is nonlinear and position-wise, it lets the block compute new combinations of features rather than just averaging existing ones.
Why residuals and layer normalization matter
A residual connection adds the input of a sublayer to its output, so each sublayer learns a modification of the signal instead of a replacement. This gives gradients a direct path backward and lets a block begin close to the identity, which is what makes many stacked blocks trainable. Layer normalization rescales each position's vector to a controlled mean and variance, keeping activations in a stable range as depth increases. Without these two devices, deep transformer stacks tend to suffer exploding or vanishing signals.
Order inside the block
A common arrangement is: layer normalization, then attention, added back to the input; then layer normalization, then the feed-forward network, added back again. The exact placement varies between model families, but the pattern of a mixing step plus a per-position step, each wrapped in a residual, is what defines the block.