Psycochild posted on crafting from a game designers point of view last week.
Crafting is typically broken down into the following steps:
1. Learn a recipe.
2. Collect resources.
3. Create the item.
4. Sell (or use) the item.
5. Longer term: Advance your skill
He notes the game design goals of each step:
Learn a recipe: Create achievements, appeal to socializers
Collect resources: Create demand for resources that give goals to players
Create the item: Provide inflows into the game economy
Sell (or use) the item: Create economy game
Advance your skill: Give players incentive to advance
For game designers, it is worth reading the whole thing.