A batch normalization is a layer that putted in between convolution and activation layers or sometimes after activation layers, it is used to normalize layer’s input to reduce the internal covariate shift problem.
This problem occurs by changing in distribution of the input data in the early layers, and because Every layer depends on the input of the former layers then it becomes a problem for this layer since it requires repeatedly adjusting to new input distributions.
Batch normalization is a technique for training very deep neural networks that standardizes the inputs to a layer for each mini-batch. This has the effect of stabilizing the learning process and dramatically reducing the number of training epochs required to train deep networks.
Batch normalization can be implemented during training by calculating the mean and standard deviation of each input variable to a layer per mini-batch and using these statistics to perform the standardization.
you read more here or here or here
also, I can tell you that this layer has a good impact on the performance and the achieved scores of your model.
hope this helps you understanding the importance of BN.