A proof-of-work protocol (PoW) generally involves proving that some resource has been expended (typically processing time by a computer). It is a method to deter an abuse of service (i.e. denial of service attacks, spam, double spending) by requiring some form of “work”.
For example, in order to prevent email spam, a PoW system may require the sender’s computer to perform 1-2 seconds of work before sending an email. While this is easy to do for a single email, it would require huge computational resources for mass spam emailers. Another example of a PoW is the requirement to type in numbers / letters when ordering concert tickets online. This is a PoW in that it requires the user to prove that he/she is indeed a human being and not a machine buying a mass quantity of tickets.
In the Bitcoin network, PoW is used as a part of generating new valid blocks. In order for a new block to be accepted into the network, other network participants must demonstrate PoW*. For Bitcoin, the difficulty (related to the amount of work needed to be done before a valid block is created) limits the speed of creation of new valid blocks to roughly one every 10 minutes, irrespective of how many computers are competing to create new blocks.
In a public blockchain, such as Bitcoin, PoW removes the need for trust amongst anonymous actors by reducing the likelihood of an attack by a single malicious actor. In this case, PoW aims to prevent one party from holding a majority of computational resources at one given time, though this is not impossible. While it is often thought that PoW is a technological innovation, it is actually an economic innovation that reduces the likelihood of system abuse – it is possible for a PoW-based system to be circumvented given enough economic resources, time and effort.
Though PoW is a key component of Bitcoin and other public blockchains comprised of a network of anonymous actors, the need for PoW is absent in a private network where participants are known and the relationship between entities is governed by legal contracts.
*Bitcoin mining uses SHA-256 as the PoW algorithm (SHA stands for Secure Hash Algorithm).