@RonnieBarkingMad
In terms of games, they have to get them close to perfect because people still want a good game. However, what the gamer sees isn't necessary what the company intended as perfect. Let's take GTA as an example. In the online version of 5, you can go into a club and listen to a real DJ. Now say back when Rockstar were designing the new game, they had originally decided that they wanted that in story mode. Along with thousands of other features. At some point, all those ideas were prioritised, and let's say the real DJ's playing in a club was cut because of the extra time needed to work with the DJ's - say it would take an extra week. That's just 1 feature of the game...from thousands and thousands. So the developer decides all the features that will go out in Day 1 - that's your game. Later on, the developer might add in that feature, or many other ones that didn't make the cut.
In addition, people who have been playing the game report bugs...so they update the game with patches.
If they put in every single feature right at the start, it would cost more because they would be spending money on the wages of staff with nothing coming in. So they would need to charge more for the game to recoup costs. In addition, the game might take an extra 5 years to develop. A LOT can change in 5 years...people might lose interest in the franchise, new regulations could come in that impact negatively on the gaming industry...it when just about idea that seemed great 10 years ago, is now out of date and old fashioned.
And in terms of bugs etc. there were bugs before, but people just lived with them as the finished product was final. Now we don't need to...just like your phone gets updates, so do games.
GTA is a poor example because the franchise is so popular and timeless...but that's not the case for all companies or products.
Does that make more sense? If not, there is loads on the net about agile delivery...that will probably explain it better 