Most of what Cain is saying will generalize, but his experience is from RPGs and he will talk about why RPGs are buggy.
Will they always be buggy? Yes, they always have been. Despite what some people remember, especially console games on cartridges and other forms of media that could not be updated. They were heavily QA'd, and simplified in areas to prevent bugs, but there have always been bugs and there will always be bugs, Cain expects it to get at best the same or more probably worse in the future.
Cain speaks as someone who has released games with a lot of bugs, but the Outer Worlds had relatively few bugs compared to other Obsidian games and his own. You can ship a game with fewer bugs, shipping a game with no bugs is probably impossible
RPGs are extremely complex software, made of many interlocking pieces. Not to belittle these games, but compared to something like Street Fighter where you may have a dozen characters with some moves and animations, it's more difficult. Street Fighter has no inventory , quest history, levelling, inherently simpler to make. Now, there are some more complicated elements to Street Fighter, people will expect better animation and better fluidity of combat than from an RPG. But there are fewer pieces to it, so they can focus more on those.
In a lot of RPGs, especially nonlinear ones, that non linearity or the player doing different things in different orders can lead to blocking problems (Programming way to look at it.) Multiple solutions to things, multiple skills, multiple character builds. by necessity you now have multiple bugs. Emergent gameplay leads to emergent bugs. Ways of using skills and items in ways the developer didn't expect will lead to bugs. Ways of interacting with them emerging from the rules will lead to interactions that were not planned and do the wrong thing. Hard to track down, hard to anticipate. As games become more complex, almost impossible to anticipate, have to catch them after you make the game.
Simpler games have some of these, but not all of these. Have to account for every possible way a key could be pressed, the controller could be moved, what happens if the player tries to interact with something while doing something else or under the influence of a status effect. Even in the simplest games these are hard to test and can happen.
How would you rate bugs when you are making a game? Have to rate them somehow, at some point beyond the simplest game you will have more bugs on your bug queue than you could ever reach. Some bugs are minor, but how would you rate that?
Cain ranked the bugs on his RPGs, highest scoring ones take first priority: Crash bugs were number one, do not want people crashing, horrible for the player, but it shows an underlying instability in the game that will leave people unwilling to keep playing. If it keeps happening, if certain things keep causing it, they will just drop the game.
Highly ranked bug also goes to builds not being able to complete the games. You don't have the skills that are needed, or this build tends to get a set of quests that can't be done, or they can't acquired all the things that are needed to complete the game for whatever reasons. Can be miserable to realize your build can't beat the game after 5/10/15 hours of playing it.
Third highest rating bug are things that prevent the game from being certified. Windows/Consoles won't let your game ship if they can't meet certification. Can be anything from not connecting to their achievement systems to not being able to quit out of the game, or content in the game not fitting the age rating you asked for.
Those are the three highest kind of bugs. You may have a lot of those, which is why the next lower tiers might not be all fixed.
Next tier down would be finding things that were incorrectly implemented. A skill doesn't work like the design doc says it should, item should be doing X but isn't doing that. Flipside is something being correctly implemented, but is causing unanticipated issues. Interactions with other items cause issues. Two items work fine on their own, bring them together and cause problem. Maybe things aren't stacking, maybe they are stacking and that is causing problems. What do you to now? Delete the item or feature, you may be causing problems. Say, can't delete crafting because the item economy was prepared around it. Deleting can cause more work than leaving it in and trying to fix.
Lower tier ones are things like something isn't fun. Put something in, people are playing it, saying it isn't fun. Maybe a class or dungeon isn't fun. Maybe there is a skill nobody ever takes because it isn't fun. Works fine, it just isn't fun to play. Look for areas of the game that aren't clear, they check the telemetry for areas where the players stopped playing. Maybe it isn't clear what they are supposed to do next or advance the main questline. Maybe it isn't clear who you are supposed to talk to next or get the next item. Have to clarify, it, many solutions such as writing more dialogue, quest markers, have to discuss it and figure out what solution can be done with your time and resources.
Final one, Cain isn't sure how to clarify it, but 'sanding off friction'. Look for things that are frustrating people. Drop rates on some items are too low, some NPC is just too annoying. Maybe players are getting sick of interacting with a really sarcastic main quest NPC. These are very low priority, Cain obviously prioritizes crash bugs but he has shipped games with lots of friction and people don't like it.
People think it has gotten worse lately, Cain says everything he says is true for games since day 1 of the industry and games being released now. Things get worse when the people with the money like publishers say they can just patch it after release. Some things couldn't be fixed afterwards back in the day so they had to ship it as close as possible. Now, some people say they don't want to keep spending money, ship the game, make some money, and use that money to patch the game. If you're running off of a Kickstarter, maybe you just run out of money and have to ship what you got or throw it away. Lot of games you've never heard and will never play because the game got cancelled way before it could ever be announced.
How to prevent this from happening? It's complicated, Cain has some ideas. First, start QA/Playtesting as early as possible, at least once you have a vertical slice, maybe even when you have the First Playable. Try to have QA group playtest it. Make sure they are aware of the state, can be soul draining when you ask a QA group to test a greybox area for gameplay and they just complain about the game looking ugly. Playtesters who don't understand stages of playtesting can be frustrating. Second, in house QA. Cain has always had more luck with people he can walk over and talk to. People outside of the company may not even be in the same timezone, Cain would have to come in at 6 AM or stay until 11 PM to talk to playtest groups from halfway across the world. Having in house QA means they can access design docs, now that design docs are on the cloud they can always just check the most up to date version. If a QA staffer thinks a skill works weird, they can go to the design doc and see what is meant to happen, allowing them to write a bug knowing what is supposed to happen.
Another advantage of in house QA is something he loved doing during Fallout and wanted to do during Troika but couldn't always; weekly meetings with QA leads. Part of that would be the QA Lead telling Cain the worst bugs they have seen, and why he thinks they are the worst. Nobody will play it more than QA, ask them how it feels. A good QA Lead will tell you not only his own issues but will know his QA people well enough to know their issues, he'll know the people that like the action and the people that prefer the story, and the action people might be loving it but the story people have issues. Very valuable advice, he felt they got that in Outer Worlds and feels it shows in it's stability.
Final one is having test plans, as a designer you should be able to describe how your features should be tested. Here is a skill for lockpicking, ask QA to test it on doors and chests, and unusual cases like computers and dead bodies. Make sure those plans are followed, don't end up in a Bard/Nosferatu situation where QA hardly tests them. Those weekly meetings Cain likes help make sure those test plans are followed.
Everything Cain described? Costs money. Early QA costs money, meetings cost money, test plans costs time from developers that could be developing, so more money.
TL;DR: Games have bugs because of limited money and will always have bugs because no infinite money.