I was a QA data analyst for 22 years, looking for database problems so that they could be fixed. My company had a 99.5% accuracy rate on our products, but even then we might have 5,000 errors, so large was our database. Our customers paid thousands of dollars for our products, as well as a monthly update fee, so errors were not tolerated very well. We had a select group that handled these reported issues very efficiently.
In a modern game with thousands, and even hundreds of thousands, of lines of code, it is simply impossible to thoroughly QA that product before release. A team of 100 people could work for 5 years, and not find the bugs that a few million players will find in a couple of days. Developers know this all too well.
We should expect modern huge games to be released with bugs. Yes, there are alpha and beta test runs, etc. and they should be examined by the developers, but even those instances will not find all bugs and glitches, much less exploits. Players, however, will find those mistakes out in a few hours. They always do.
The developers should be sure the game does not crash out frequently, and the main systems function properly. All player contingencies CANNOT be discovered during the QA process. The real test of a development team is how rapidly they prioritize the bugs, and how quickly they eliminate them. That is their duty before release, and is their primary duty after release.
This does not mean a blanket free pass for really buggy games, or games with game/quest breaking bugs, but only a statement about how complex modern game code has become. It is a daunting task to properly code a game using a huge engine.
So, to sum up: QA is very hard, and will be incomplete due to the complexity of modern gaming engines and the massive amount of coding required.