Page Object and Selenium's PageFactory are distinct things in nature, usually the latter complement the former.
Page Object is a design pattern aimed at solving the problem of separating the application interface from the HTML interface.
Why do we separate these interfaces? Because web pages elements and functions, as saw by the user, differ from the HTML tree. A user sees albums, artists, and songs; HTML tree have lists, paragraphs, links.
Coupling tests for the HTML tree is usually not the goal - the goal is to create tests for the functions and elements of the page: THe Application API. But in order to programmatically exercise the Application API, one needs to interact with the HTML tree. And Page Objects serve to encapsulate the command transformation from one API to the other.
More info on Martin Fowler's post on PageObject.
Selenium's PageFactory, as mentioned by wec, is simply an annotation that serves to delegate to Selenium the instantiation of some WebElement objects you might want to have on an object that represents a web page or a component.
As mentioned on the Selenium documentation:
There is a PageFactory in the support package that provides support
for this pattern, and helps to remove some boiler-plate code from your
Page Objects at the same time.
PageFactory serves to make things more succinct, it does not implement the Page Object design pattern out-of-the-box.