It’s not an easy problem. Keeping the camera in one location requires more work by the artists to produce objects that look correct from all orientations, and even then thing go to crap if the camera winds up inside an object, or if objects repeatedly pass through the hither plane.
Also, sometimes the camera code isn’t really thought about much until late in the process. It’s difficult to write camera code when the objects in the scene aren’t already passing through walls and the like. So once things calm down, you assign some junior coder to go and put some logic into the camera AI to deal with certain situations. But then that creates some other artifacts, so additional code is tacked on. But then it breaks down in some parts of the game, so you kluge in more. Lather, rinse, repeat.
Another problem is the high turnover rate in the industry. Programers get burned out really quickly. The guy who wrote the camera code for one game will very often not be there for the next title, and the person who fills in will usually not be able decipher the code therein. Disciplined code is not common in the games industry, nor is comments in the code. So most times, you start from scratch. And then there is QA.
The testers, in the games industry, are the lowest of the low. Janitors get more respect. Really, I’m not kidding. (“Hm. He says the game caused his test box to catch on fire. Destruction of company property, terminate him. No, don’t fire him, shoot him.”) Maybe the lead tester will be listened to by the producers, but the others are pretty much despised, especially as the drop-dead date approaches. (“Three hours spent trying to reproduce this bug! Fvck’n tester!”) Not that some of that derision isn’t deserved by some…
So the drop-dead date approaches, and the producers are going through the bug database, deleting bugs reports that they deem not important enough before anyone else sees them. The programers look at the bugs assigned to them, try to reproduce them for about two minutes, and then mark the report as “no such bug”. The artists look at the bugs assigned to them, and decide to head out to Burning Man.
Then the drop-dead date hits, and everything is packed up and shipped out, no matter what. Well, maybe if the game doesn’t run, they might take a day or two to fix it, but sometimes not even then if it’s a PC game. I’ve heard of a game (Shogo? I forget the name. I haven’t actually played it.) where the character dies in the opening scene, before the user can do anything. “Blam! Mission failed. Play again?” <click> “Blam! Mission failed. Play again?” You have to download the patch to be able to play it, and God help you if you have a slow net connection. I swear, these days they should just make PC games so that the executable that they ship is just a downloader for the actual game executable.
Console games have a higher hurdle to leap, because games have to pass certain requirements by the console manufacturers, who are mostly immune to any financial repercussions if a particular game doesn’t ship in time – mostly. EA Games is the 800 lb. gorilla these days, and first-party games will often be pushed through by management, too. But all this means is that the game producers will artificially push up the drop-dead date to deal with the possibility of initial rejection, and will start ignoring bug reports even earlier.