How software development team approach prioritization tasks

In a software development project, there are often a great number of requested features, enhancement requests, defect fixes, etc. to be completed. How should a software development team approach the prioritization of these tasks and how resources should be allocated to completing them?

The helpdesk (or service desk) is available for technical support (as opposed to software development as in the question above). There are also a lot of requests that come into a helpdesk on any given day. How might the prioritization system for helpdesk requests differ from those in a software development project?

Provide any real-world examples you have come across.

find the cost of your paper