Because when a new choice is made, it will always match at least two of the conditions, and since you've used the OR (||) operator, will continue with the loop. You need to use the AND (&&) operator instead:
var playerChoice=prompt("Choose paper or rock or scissors");
while (playerChoice !=="paper" && playerChoice !=="rock" && playerChoice !== "scissors"){
playerChoice=prompt("Choose paper or rock or scissors");
}
Now when a valid choice is made, two of the 3 inner conditions are still met, but because the last one isn't, the whole condition will evaluate to false and the loop will not execute.
playerChoice != "paper"!=vs!==shouldn't make a difference here. Have you tried switching to using&&instead of||as per the various answers?