Not OP but what you’re saying is absolutely true.
But first someone has to invent it. Nobody’s gonna spend a few thousand or million dollars to invent something unless they get their money and more back, so that’s the point of patents.
And if they patent something and don’t capitalize on it enough, that’s their loss, because they had to detail their invention in their patent application and that’s public information. Patents last only 20 years and for most industries, that’s not very long.
(That said, I think software patents are a different beast. Because 20 years in software engineering is like 100 years in civil engineering, for example, since software engineering is like a few thousand years younger discipline than civil.)