Crowdsourcing contests - events to solicit solutions to problems via an open-call format for prizes - have gained ground as a mechanism for organizations to accomplish tasks. This paper uses game-theoretic models to develop design principles for crowdsourcing contests and answer the questions: what types of tasks should be crowdsourced? Under what circumstances? When a single task is to be completed, crowdsourcing can lead to higher quality outcomes than directed assignment if the pool of players is diverse, but can lead to suboptimal outcomes when workers have similar abilities. With multiple tasks, crowdsourcing can easily match players with diverse skill-sets to different tasks to achieve high aggregate performance. However, surprisingly, crowdsourcing is not always useful to find expert workers for highly specialized tasks.