You're right that a competition isn't the most efficient solution from a total effort / end result perspective.
However, that's not what competitions are designed to provide. This isn't a corporate productivity debate.
Competitions generate excitement, stroke entrant's competitive nature, provide some openness (in cases where the public participates), and promotes more out of the box thinking.
You see it all the time with sports, the increasing number of hackathons (where yes, developers, designers, and others spend X hours building something nonstop for zero guaranteed reward), government initiatives (challenge.gov), etc.
Religiously calling all competitions/contests bad because there are some companies which exploit the characteristics of a challenge is a bit naive.
Note: I recognize that design is time intensive and not always fun. Hell, it's the same thing for developers.