You know in real world of making real applications (games, some big systems, really anything serious), you have only 2 limitations: money you can spend on project, and people you can get.
Time/deadlines are not limitations, you simply need smart CEO or sales person to not promise something that cannot be done.
However many times you just cannot secure required talents for making your project. And people who could code working and well designed engine from scratch are very rare. So they can be picky about which job they want and can be picky about salary. For making big game, you need like 20 of such people. Then one really experienced in that to lead them as a team.
It is much easier to get 20 people that can use engine like unreal and produce quality game with it. And really nobody cares about size of binary, now those 500-600 mb used by code seems big for mobiles, but it is nothing on PC or bigger consoles. And epic knows this, they do not care about stuff that is not important or not bringing them more money.
ps.
About 20 years ago i was puzzled/angry (just like you are now) about why nobody writes drivers in pure ASM anymore, or why they do not do asm games. And that asm can be optimized much better (it was like this back then before compilers got much better and before new CPU that can optimize running code on the fly).
btw, one game i know was pure asm (on PCs) is Epics pinball game.
pps.
About unreal, unity, godot and rest of engines. You pick TOOL that best suits your situation.