An X server provides the I/O interface to the program. It takes input from the keyboard or pointing device and outputs on a display.
An X client is a program that simply connects to an X server to use its I/O interface.
What's so hard to understand about it? That is, unless you're deliberately trying not to understand?