VNC stands for Virtual Network Computing. It is, in essence, a remote display system which allows you to view a computing `desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures.
It is implemented in a client/server model. This package provides a client for X, with this you can connect to a vncserver somewhere in the network and display its content in a window. There are vncserver available for other operating systems.
The difference between the xtightvncviewer and the normal vncviewer is the data encoding, optimized for low bandwidth connections. If the client do not support jpeg or zlib encoding it can use the default one. Later versions of xvncviewer (> 3.3.3r2) support a new automatic encoding that should be equally good as the tightvnc encoding.