I'm not sure (I read source code of this program many years ago) but upx use lzo when you use -1 argument, gzip with -9 argument, and lzma/lzma2 with --ultra-brute argument.
On old x86_32 processors lzma may not work good, but gzip will always work and decompression takes miliseconds or 1 second.
On x86_64 all processors can handle lzma. Decompression time is less than 1 second, 64-bit programs are bigger than 32-bit programs.
There are more pros than cons. With upx you decrease free RAM space, speed up HDD speed, and minimalize internet transmition. You protect TC from bloatware.
If you want to read executibles you can decompress files with upx -d argument.
There could be also two versions of kernel+core.gz (compresed and normal).
Some people boot TC from LAN or from the Internet. I plan to have router with pxe booting and no HDD, as a testing platform.
Compression in tcz is very inefficient. Its good for text and libraries, but not for executables.