The whole point of Cygwin is to provide an up to date list of Linux libraries(?), and gcc is the recommended compiler to use it with?
It's kind of cool to think about (most self referencings are), but you need Cygwin's gcc compiler and libraries, in order to compile the gcc compiler for PSP (and other tools). Which are then used to compile libraries for PSP, etc.
"Compilers compiling compilers, how perverse!". Make sense?
(If you've done anything in hardware development or embedded systems, you see this stuff all the time. You have to make a compiler for your new architecture given a set of opcodes etc. A already built compiler is used to create this compiler, that will output binaries for the other architecture. In our case PSP MIPS).
The psp toolchain acts as an additional set of libs to the Cygwin environment?
No, the psp toolchain acts as a set of compilers and tools to create libs and binaries specific for PSP ( MIPS). The Cygwin environment helps you compile the psp-gcc, psp-g++, and other psp tools to give you a full build environment.
In addition it makes it easier to deploy only 1 script for PSPSDK installation, that will work on multiple platforms (bash in this case). Cygwin provides that ability to run the Bash scripts in a more vetted and stable way (they've tested in this environment).