What you've missed is that the developers of proprietary software move on too (sometime the individuals, sometimes the whole company). Generally the customer does not pay the developers. The developers company pays the developers, and they will only pay them to fix your bug if there is nothing of higher value to the company for them to do. Yes, if it is product which makes the company money, and a lot of customers experience the bug, and it is serious, then it will probably get fixed. Otherwise maybe not. The way bugs get "chosen" to be fixed for FOSS software is different, but it is not clear in general whether it results in more buggy code. Unfortunately, "common sense" about these things is often wrong, which is why people do studies and try and get objective data.
Fixing FOSS yourself is an option, so is paying someone else to fix it and so is complaining, waiting and hoping. Granted, these approaches all have problems: requiring skills and application; requiring deep pockets; or are unlikely to be successful. With proprietary software, you are pretty much restricted to "complaining, waiting and hoping". You might hope that your complaining will have more effect, but that is really only true if you are a big customer or there are lots like you.
When I was young I proudly identified a bug in a proprietary compiler. The company I worked for hadn't bought the support contract. I naively thought that the vendor would want to know that their compiler had a bug (with a nice test case) but they wouldn't even take the bug report without a support contract, let alone fix it!