Usual routine I hear people do is back/biceps chest/triceps and legs/shoulders.
Firstly, in certain exercises other muscles are in use. For example you're working your back doing chin ups and although you're working your lats for the most part, you're also using your biceps. After you've done your chin ups you go to do bicep curls but because your biceps are tired from chin ups you're undermining the point of your bicep exercises and that is to push them to their limit which isn't possible with already tired muscles.
Secondly, if you're working all those muscle groups in the same session then you should be in the gym for up to 4 hours. If you're not in the gym for that amount of time you're either working very fast in which case you're not doing the exercises as well as you could or you're not resting for the right length of time. If you are a freak and you do spend so many consecutive hours in a gym then you become so mentally fatigued after 2 hours that you have difficulty with any other exercise thereafter.
Just as importantly I think by doing all your muscle groups in one or two days and resting for the rest of the week undermines some of the benefits of body building. By sustaining your routine throughout a week (a muscle group a day for example) you're tiring yourself just enough to be able to sleep better but not so much that you're exhausted for the rest of your day. Working out also releases endorphines that allow to go about your day more productively. By working out everyday you're allowing yourself that benefit rather then only for one day when you're too exhausted to do anything anyway.
This is why I spend 45 minutes to an hour each day on one muscle group only and of course I dedicate a day a week to cardio workout. This is the secret to not only a better and more productive way of building muscle and all round fitness but also reaping the benefits of a body building life style.
