Basically in order to take some load off the servers, not everything will be rendered by the server.
Obviously, things like where players are moving and where gadgets are placed needs to be consistent across every player's screen, and so they will be "server-sided" - every player will see these things loaded in the same places.
On the other hand, things such as debris from destroyed objects does not need to be rendered consistently across every player, as they (usually) do not have much of an impact on gameplay. Hence, every player will see debris and corpses differently, as their client will rendered them individually; players will not see corpses and debris in the same spots. This causes issues sometimes, like how breaking a barricade may leave planks stuck in the gaps on one player's screen, while another player can see through the hole fine.
In this case, the spectators saw the corpse in a different position and so could see the enemy's feet fine, while the player's client had inconveniently placed the corpse under the boat, blocking the feet - to the player, the corpse was to the left of where the spectator was seeing it.