If each service owns it's datastore, each service can choose the type of datastore that best fits it's use-case.
Each service can be owned and operated independently. Patches, upgrades, schema migrations, etc.
Each services' datastore can be scaled, backed up, restored, encrypted, etc independently all depending on the requirements, scale needs, compliance concerns, etc of a given service.
A badly behaving service can (mostly) not impact other services, where if they all shared a single database a single service could theoretically starve other services.
Yes, the distributed transaction problem is a drawback, but that can be partially mitigated through better definition of each service's bounded context.