Mob programming sounds rather inefficient to me, but I'll freely admit that I have never tried it myself. It might give good results if your team is disciplined and talented, but can't that be said of all approaches to team programming?
There are cases where you'd want the team to work more independently, but they have to be weighed against communication costs. Those pile up quickly on any team.