I use WooCommerce on quite a few sites. It's developed well. Reducing stock when adding to cart would be an even worse scenario and would allow one person to wipe out or hold all the inventory. That's what the hold stock feature would allow. Thinking again, it's more likely they aren't using it and stock is reduced only after payment as that would allow you to add an item to the cart while it's still in stock, but then be out of stock if it's the last one and someone else pays before you. They are probably manually clearing unpaid orders after x minutes or have a custom function that does it. By default, stock is reduced when an order changes to "Processing" status.
This issue was rejected years ago:
https://github.com/woocommerce/woocommerce/issues/5966The ordering process is really no different than sneakerheads and bots trying to order limited shoes that sell out instantly. You just have to be quicker.
Except it doesn't work as you describe. The first time, it said there were 48 in stock. Added one to my cart, and a pop up said they were out of stock.
So I Went back and looked at the item again. It STILL said 48 in stock.
Same thing the second time, but fewer were in stock. Less than 30. Got it into my cart, then proceeded to checkout, filled out the form, clicked submit, and THEN it said out of stock. Look at the item, sure as shit, still a bunch listed in stock.
I don't care what you say, or how you try to explain it away, their website is a piece of shit.