Batch normalization rescales the values flowing between layers using statistics from the current batch, which makes deep networks train faster and more reliably.
Batch normalization uses statistics across the batch and depends on batch size. Layer normalization uses one example, which is why transformers use it.
Batch normalization rescales the values passing between layers, using the mean and variance of the current batch. It makes deep networks train faster and tolerate higher learning rates.
Without it, the distribution of values reaching each layer shifts constantly as earlier layers update, so every layer is chasing a moving target. Normalizing steadies that.
Think of it like this. Think of a relay where each runner hands over at a wildly different speed each time. Standardising the handover means the next runner can practise one thing rather than adapting to chaos.