Stripe collects the money, then sends your system a message to say so. Those messages can arrive twice or not at all, so your records slowly stop matching what customers actually paid. When a payment fails, your team can't easily see why, or try again.