It does give the same possibilities as far as I know. For example, say I wanted to style the title of the default page template differently than the index blog posts title and other page templates
For Twenty Eleven I could use..
.page-template-default .entry-title {border: 1px solid #000;}
Then only on the default page template would that style be used. You can do the same for categories, page templates, page ids etc etc.
I used this method when creating different layouts for my twenty eleven theme. Using a body class I could totally change how the sidebars are positions, left and right, 2 left, 2 right, 1 left, 1 right.
Then when that body class is selected, it displayed the proper layout.
Taking it a bit further I could even have a left and right sidebar on the index, then only 1 on any other page.
There's lots of possibilities with CSS and body classes.
By using separate stylesheets, all you're really doing is using different CSS for certain elements, which is exactly what body classes are for.