A product owner is a decision maker.
Fundamentally, the role exists to help represent the needs of both the business stakeholders and the users within a complex environment. They broker the needs of those two sets of people condensing their requests for features and enhancements in to a single prioritised list of tasks for the development team to turn in to working product.
Practically, this can be tough. No two people have the same opinion, yet everyone will likely think that their idea is the best, most important and needs the most immediate attention. A good agile team will be trying to work on only a few top-priority items at any given time, so this means that the product owner will have some tough prioritisation decisions to make.
The tool they use to do this is the backlog. The backlog is simply a prioritised list of all the requests that have come through to the product owner. By refining each request and judging each one relatively with the others, the product owner makes their decisions about what will be done and when. The backlog should be visible to everyone so that they can see the decisions that have been made and then hold the product owner to account about them if they don’t agree with where they have ended up on the list.
Through prioritisation, the product owner is both maximising the value of the product being built and helping build agility in to the process. This is because the backlog is a fluid and living device in which ideas are held. The priority of the items in it can change and this responsiveness allows the product owner to send the most valuable items to the development team at any time.
The product owner is often facilitated by a scrum master, or agile product manager. Part of their role is to assist the product owner in their interactions with the development team, so that they have access to someone who can advise on business decisions (the what) when they are problem solving and building product (the how).