I feel it is kind of subjective. While it is true hand-written MIPS assembly
might lead to more optimized code (size and/or memory-wise) compared to a C compiler in specific situations, IMHO usually it is not worth the extra effort nowadays, or at least for application-level code. Modern optimizing compilers provide a good balance between convenience and resource usage. Also, I think one of the main benefits of working with a
high-level language is, above all,
portability. What if your game becomes surprisingly popular so the community want to port it to other platforms e.g.: x86_64, arm64 or even other cool retro consoles? They will have a
really hard time if the game is written in pure MIPS I assembly.
OTOH, the PS1 is a very nice little beast! 2 MiB RAM are not that easy to fill up unless you do something wrong, so tons of high-level,
not-so-optimized code can be written before memory becomes an issue. CPU-wise though, even if also powerful to handle complex logic, you need to choose your algorithms wisely and avoid unneeded operations so your game keeps running at those fantastic 50/60 fps (depending on PAL/NTSC).
However, I think hand-written assembly has its legitimate uses, like system libraries. For example, psn00bsdk is written in pure MIPS assembly so users can benefit from maximum speed and minimal memory footprint. For psn00bsdk, portability is not a concern at all, since it only targets the PS1 by design. While a C equivalent would have already been fine (e.g.: PSXSDK), psn00bsdk aims for that extra bit of performance that some users might be looking for.
In any case though, always profile
your code, look for bottlenecks and apply the most appropriate solution you can come up with. Over-optimizing from the start is usually considered more of a red flag than a good practice.