Microservices are also the result of technical debt where the core monolith has become too much of a ball of mud to hack on efficiently anymore. It's the "you have to write code twice— first to find out what you actually need, and again to build the right thing" on a larger timescale. Never seen a satisfying way forward once you find yourself here.