I've seen many comments here, many of which I concur with. However, working in the development consulting world for 40+ years, here's my two cents: (highly simplified)
1) In a small shop (less than 40 developers), they tend to choose and remain with a standard set of tools, languages, libraries and operations/management tools just by inertia and a set of "principle" architects that provide the guidance. These "principles" can let things get out of control as they find and propose new technology and adopt it as the flavor of the week/month and in almost all cases operations, management and the rest are an afterthought and it causes issues
2) In larger (let's say a business with multiple business units (BUs) (with zero overlap in compute/data integration needs). It runs to a set of languages and financial decisions (can the programmers move between BUs when new features slow down, upward mobility, opportunity to grow, can we get an "Enterprise license" for the tools, language, DB, Etc.) that drive standards.
3) At the "Enterprise" (large, complex, BUs share/update centralized data (think banking with accounts, retirement plans, stock purchases, Etc.) level). You will almost *never* be successful without some sort of "standards body to set guardrails for what standards should be adhered to. Code bases, technical teams/guilds, communication on API contracts, management (let's just say the standard design->build->test->run model), Etc.
Now, for my two cents:
a) While a standards body is a must, it cannot be "ivory tower". This will cause the BU to just ignore and do whatever they think they need to reduce cost/improve performance/Etc. The needs of a BU (say one must release changes every "N" weeks because they're pushing mobile apps and new features are needed quickly to remain competitive), vs a centralized data team (BU), who only makes changes to the corporate data store on a longer time span since regression testing *MUST* be done to ensure no issues and regulatory approvals are in place. Yes, API/changes can be made (say a new DB view or table value), without much risk so two different APIs can be in place. However, it may be a prototype and not in the major release
b) As someone stated earlier, a standards body *cannot* be static, out-of-touch or so risk adverse that it impedes a business units ability to move at the speed needed. E.g. By moving to X, I can cut processing time by 100%, reducing my customer lag, user experience or cut the number of servers/CPU load if I can still meet my SLA by doing so. Now, that being said, if they are going to bend or go over the guard rails that far, they also have to factor in the central (or hopefully the have SREs in their model and already do most of their own support), support needs. Will they pay for new tools, SW, management tools, people to operation and perform break fix, Etc.?
So, your cost for going outside the guard rails may not have an ROI break even for doing it even though it looks new, exciting and sexy/bleeding edge. (hmm, I need to buy "X" dollars of new management tools and 15 new FTEs to run/manage it)
The best solutions I've ever seen are a set of non-biased technical and financial 'boards' that work through all of this with the BU/Dev/Ops (or DevSecOps if you want to use the current term), to help the BU and the Enterprise come to an agreeable decision and not allow the wild-wild-west