This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
The thin vs. thick distinction usually refers to how much processing or "business logic" is done on the client. A web browser is the the classic thin client. It can be the client application for anyone's server application. A thick client is more like a standalone application, which run on the client machine and communicates with the server less frequently. A virus scanner is a good example. It downloads new virus definitions from the server, but then runs its scan on the client machine without further communication to the server.
The advantage of thin clients is they make fewer demands on the client machine, which can be anything from a computer to a smart phone to a household device like a blender or TV set top box. The client can be generic like a web browser, and since most of the logic takes places on the central server, it's much easier to push updates out to the clients.
The biggest advantage of thick clients is that the performance isn't tied to the load on the server, and the speed of the network connection. For many thin clients, the lack of network connectivity renders them completely useless, whereas thick clients can perform many of their functions without communicating with a server.