In a world where software is expensive to write and cheap to run, you get larger chunks of software.
The complexity of adding features to software or migrating the schema of the underlying data goes up with the square of the number of use cases.
When software becomes cheap to write, you get larger amounts of smaller bits of software.
Each bit of software is much easier to modify and tweak because it is smaller.
Need a new use case?
You don't necessarily need to modify a bit of existing software and make it more complicated.
You might be able to add a simple small additional separate tool that interacts with the pre-existing pieces, without making the pre-existing pieces more complex.