This is a very relative question. It simply depends on the use of the engine.
If you need or want to be able to do a lot of scripting internally for game designers and to avoid recompiling the projects then it might be very important to expose as much of the game engine to the scripting interface.
But if you want to allow players and moders to use the scripting engine as well you will be much better off writing your own bridge and select the functions exposed to the scripting engine.
Anyway having a scripting engine in a game engine can drastically improve game development.
Again, certain teams never use scripting in games while others never do without.
I believe this is open to discussion.
Having a scripting engine is a big plus though. Those who don't use it don't have to and they can simply deactivate it.
The perfect engine would have multiple levels with diferent interfaces:
- Game designers and internal scripts have access to everything
- 3rd party have access to a limited set of functions
This is how I will try to solve the problem of critical functions (file access, leader boards, authentication process...) being exposed to the scripting interface.