Why do game engines define the a certain way to do things and not allow a lot of flexibility?


I understand that game engines have their own level design methods and different implementations of levels but why don’t they allow full control of the level design to the game developer? Without actually stating that, "The game developer should do/ use this to get this." rather than "Use these tools to get this done. Have full control over your product." ideology?

I guess its because not all game developers are interested in dealing with low level aspects of the game development phase but wouldn’t it be more efficient if the user can optimize certain aspects of the game to better suit for their product? For example, a mesh object, resource submissions, or other areas which game engines define a certain method?