I'm also +1 on Putnam's suggested way of using the labor system. However, I have a kind of different take to it.
My own personal way of using it is that I start out with no custom labors. Dwarfs do whatever dwarfs do. When the fortress is well under way, I take a look at what individual dwarfs have been doing (you can tell by looking at their skill levels). Then I assign individual workshops to specific dwarfs (or more usually build a whole new shop, along with a new "house/workplace" for that dwarf and move them there). Occasionally I will create a custom labor to things that don't have a workshop and that I want to limit to a few dwarfs. Probably the one I do most often is "Animal Care", which can be used to feed grazers that are on a restraint or in a cage. The dwarf who does it gets a good thought, so it's kind of "animal therapy" for dwarfs that need it.
I generally don't have communal workshops. A workshop is there for a purpose and it has a master. I have *some* general purpose ones, but those are basically for "hobbies". For example, I often set up a bone carving workshop with a work order to make one bone carving a month. It just gives a dwarf an opportunity to practice a craft randomly. If a dwarf is getting bad thoughts from not doing a craft, I assign them to one of those workshops.
This is problematic eventually, though, because unemployment is a big problem in large fortresses. You can easily run entire fortresses on 30-40 dwarfs. Again, setting up specific workshops is my way of dealing with it. Maybe somebody's hobby is to make a specific meal, or brew a specific beer and they do it once a month. I usually put private workshops *in* a dwarf's bedroom (yes, my bedrooms are big). Occasionally, I make a few communal industries which require a custom labor, but almost never. The result is that my fortresses are more like organic towns with lots of redundant and competing industries. I think it's fun that way, though.