The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Should this functionality be enabled for all projects, no projects, or only some projects? What is your thinking / reasoning behind your answer?
Some, possibly all.
If you have a project that is trying to track a business process closely, used by a lot of the business and doing a lot of cross-project reporting, you really don't want to allow extended administration. If a project has admins who don't really know what they're doing (sorry, it's quite sad I had to mention this one, but I've seen it so many times, I had to mention it), then don't give them the access. If you have a project with admins who do know what they're doing, and want flexibility, go for it.
Example - a big site with an operations team keeping stuff running, with strict process for change control and monitoring - locked down projects. Rest of the projects were for developers and had the functions enabled for them. Development project admins were handed the permission after they have about 4 minutes training on "why we don't want you to change X".