When must I use clustering -- that is, a pool of web servers instead of a single web server?
It really depends on the load of your system, and the hardware that you are using (or plan to use).
A pool of web servers will definitely serve a higher number of pages and it will be more safe in a case of a crash of a system but, obviously, it's more expensive. In addition you need to have a good solution for making sure that once a session on a system it's started, that user will be always redirected to the same system, otherwise you have to handle your own session with a database or (bad!) with a networked file system.
[See What servlet engines support clustering -- that is, sharing of session data across multiple load-balanced web servers? for more information. -Alex]