Same old story
When it comes to software, earning money takes priority. No one seems to take time to test properly since that reduces profit. If the one scenario that it is built for seems to work, get it out the door and let the user test it.
There's also money in changing the design further down the road once it's been signed off by the customer and will then be called an upgrade as it is outside the original contract.