Thin client and thick client are mostly marketing terms
for certain types of computer.
A thin client does most of its processing on a central server with as little hardware and software as possible at the users site.
Ideally the user will have only a screen, keyboard, a pointing device (if needed) and enough computer to handle display and communications.
A thick client does as much processing as possible at the clients and passes only data required for communications and archival storage to the server.
In concept, thin clients are cheaper and require less administration than thick clients. On the other hand they tend to require greater communication bandwidth as display data will probably need to be passed to the thin clients. The thin client server must be much more capable (and expensive) than a thick client server. One advantage of thin clients is that they only need to be upgraded one time rather than on each machine like thick clients.
The advocates of both architectures tend to have contentious relationships. In practice, there seems to be little to choose between the two approaches for many applications. A few situations may clearly call for one or the other. Distributed computing projects such as the SETI@home project (whose whole point is to pass off computationally intensive analysis to a large collection of remote computers) are applications that require thick clients. On the other hand multicasting entertainment or educational material to a number of clients might best be done with thin clients since exactly the same material is to be presented at each.
A thin client may be an application program or a device for the execution of thin-client application programs.
In the former case, it is a program which communicates with an application server and does not incorporate the significant elements of business logic which the overall (client-server) application implements. Instead, the core functions of the application are located on a distinct computing device, an application server, which may be located nearby in a LAN or at a distance on a WAN or MAN.
In the latter case, it is a device which is designed to provide just those functions which are useful for user-interface programs. Often such devices do not include hard disk drives, which may become corrupted by the installation of misbehaved or incompatible software, but instead, in the interests of low maintenance cost and increased mean-time between failures (MTBF) the thin client device will use read-only storage such as a CD-ROM or flash memory.