Why not both though? What makes an ESB more onerous than, say, providing a microservice for other departments to use?
The features, constraints, goals, etc. expected out of the ESB substrate by the different use cases becomes a nightmare of responsibility/blame shifting. Durability and replay? That's the ESB's problem. Load balancing? Yep, ESB. But it's screwing up the ordering guarantees! Well, make the ESB 'smarter' and we can just keep punting all of our problems to someone else. Etc.
For this to work, the ESB must be acknowledged as the critical piece of the architecture, and the team responsible must be empowered enough.