Why a normal database transaction is not enough when an order crosses multiple services

Imagine that we are building an e-commerce application with three microservices:

OrderService creates and manages orders.

PaymentService charges customers and processes refunds.

InventoryService reserves and releases products.