Deep learning: Training in batches
The point in using batch training is that you can't take a step using all data due to the size of the training data which is really big. Consequently, you may want to use batch optimisation techniques which take steps which are near to the best step. The reason is that in each batch, the distribution of data points is similar to the whole training data or at least it is not very different. If you have a small size for your batch, your steps may oscillate and may not be very perfect but for bigger batches they are better. 

Batch techniques also facilitate the number of steps that you can take. They also can be helpful for not being stuck in local minimum points.