A significant portion of the player's interactions with the game world can be modeled exactly the same as other entities' interactions, so it makes sense to have the player be just another entity. However, the player will also usually require additionally bookkeeping data that doesn't apply to other entities, so it makes sense to have a dedicated structure for that.
I usually model this by having a "player controller" or some similar object which has a reference to the game entity representing the player. This allows the best of both worlds, and if done cleanly can also allow you to temporarily take control of other entities in the world for diagnostic purposes.
Of course, for games where the player has no avatar in the world itself (Tetris and other puzzle games, for example), this doesn't really apply.