There are very few cases in which using multiple SpriteBatches is necessary. One example that I see thrown around a lot is a situation in which you want to apply different post-processing/renderstates to different sets of sprites, which requires a separate SpriteBatch for each set.
It is usually considered good practice to use only one batch if at all possible, since drawing as many things as possible in one batch is much more performant than spreading the work across multiple batches. Additionally, since you can only control sort order within a single SpriteBatch, it may make it harder (or impossible) to control depth between sprites from different batches.
In short: there are conceivable situations in which you may want to do this, but it's not all that common and in general you should stick to using one SpriteBatch unless you know that you can't accomplish what you want without using more than one.