The user has to select from a pool of items or options. What items are displayed and their order or sequence may have some relevance to the user.
In some cases this list must be accessed on a regular basis, on others very rarely.
[Small wireframes of picker and two-lists]
Determine when the user will need to access the pool of available items.
If the typical user in a typical context will need to know what items are selected, but is unlikely to add or remove items from the list, use Picker Dialog.
Example where most users won't change the selection regularly but may want to see which items are selected for reference. Currently implemented with a checkbox-list of all available items. A Picker would allow to see all selected items without scrolling
If it is likely that the items will be changed on a regular basis, use Two Lists with Arrow Buttons.