Update: This article was written when Global Picklists was launched. Salesforce has now renamed Global Picklists to Picklist Value Sets.
Do you want to use same pick list values in different objects across the system? Global Picklists is your answer!
Global Picklists lets you efficiently reuse a single list of values for multiple custom picklist fields. Global picklists make it easy to share picklists across objects by letting you create picklist fields based on a master list of values.
When you create a custom picklist and base it on the global picklist, its list of values is automatically populated and non-editable.
Create your global picklist and specify its values.
Any new picklist (on any object) that’s based on the global picklist can inherit its values.
That’s it. The new picklist field you created will have the same picklist values as the Global Picklists. If you add/remove any picklist value in the Global Picklists, it will reflect in the referenced fields in the objects.
Special Advantage: And that’s not it. A global picklist is a “restricted” picklist by nature. Only a Salesforce admin can add to or modify its values; users can’t add unapproved values, even through the API.
What’s Missing: You cannot edit an existing pick list field and make it to reference the global picklist. So, global picklists is only for new picklists fields, at least for now. But to create a new picklist field again in all objects is a pain. Hence I created an Idea in Idea exchange for everyone to vote up and let Salesforce listen. Do vote for it!
VOTE: You can vote for the idea to use Global Picklists for Existing picklists fields here: VOTE