TEXTURES can be used to combine patches together, scale them, apply translations or color blending, composite textures from existing resources, etc. It has paved the way to ZDoom's "
mutator"
mod craze.
For example; there was a status bar mod which used TEXTURES to create its elements from the statusbar picture, but lay them out differently. The result was that if you played a mod which changed the statusbar graphic, this change was reflected automatically.
The scaling aspect is especially important when talking about new graphics, though. If you have a couple thousand new textures, and each one is standalone and stuff so there's no reason to use TEXTURES... But they all are high-res. You've got to tell the engine to scale them. How can you do that? Option #1: TEXTURES. Option #2: Create normal-res versions of each one, put them all in the TX_
namespace, then put the high-res version in the HI_ namespace. What is simpler? Option #1, especially with this utility around.
Finally, PK3 doesn't allow any texture feature that is absent from WAD (except for model skins, if you are using models).