I wrote about the key difference in 2015 here165
The long and short is PM is a very broad discipline and rarely does one person perform it all. PO is a role on a Scrum team that is narrowly defined. Thus, PMs can perform the role of PO and POs can perform PM responsibilities.
Rich Mironov (Mironov.com111) found that Product ownership adds 40-60% more critical work to the traditional role of a product manager. A full scope PM who is also fully engaged with their Scrum team starts to look like a unicorn.
For me the key difference between a PM and PO boil down to i) levers to influence product success and ii) mindset.
i) Levers for Product Success
Both the Product Manager and Product Owner are responsible for the business success of the product. The Product Owner’s main “levers” of influence are features and the order in which they are developed (backlog). A Product Manager has the additional “business” levers, often considered part of the whole product, such as bundling, pricing, training, service levels, and channel offerings.
Of the two, Product Managers are more likely to advocate for funding.
Their conversation with management is “if you give me this funding, I will deliver you this business result.”
The Product Owner is more likely to be working on an approved project.
Their conversation with management is “If you are going to spend that money, I will ensure you get the most for your engineering investment.”
At the end of day, it is important to realize the full spectrum of responsibilities that Product Managers and Product Owners perform. Regardless of who does the task, they are all necessary for product success.