Any application can be designed completely to be operable/usable in a specific device or can be designed to be used in collaboration with other systems.
That said, if we say we are using a torrent downloader or we are doing a live conference in webRTC – what we are dealing with is a Peer 2 Peer network application (webrtc can be non P2P also but mostly is not). We are sharing our data with another peer on the network and vice-versa. These are referred to as P2P apps.
On the network, there can be a situation where a centralised or a specific single entity (which can in turn be a cluster of computer,..say google’s data centre) has a load of data. We can have apps that use this data and show us something. Let’s say we are using google maps, google’s email service etc. These are just applications which are partly there as UI/User logic in our webpage/browser/computer/phone. The actual data is going to come from the server in Google’s network. Now Google’s data centre can be viewed as the server which gives / distributes data to many client as per their requirement. We/our computer/phone is just one such client which is requesting a specific data as per where we are/ what we clicked. Such application are called server-client applications. This kind of design is referred to as client-server architecture/ model of application.