Why video games crash&freeze&lag, while software in general doesn't.
So, if you play video games, I'm sure you're well familiar with the issues that plague almost every single game (or at least a lot of the heavy hitters of the modern market). Some dev teams are even infamous for the practically beta releases of their games disguised as an alpha (*cough* Bethesda/Obsidian *cough* Fallout New Vegas). But I use a variety of applications on my desktop most notably; Blender, Firefox, GIMP, UDK (just the editor), Unity (just the editor), etc. (Notice they are all free to use hehe). And these are pretty demanding applications too. But I can rely on them not to crash and burn so hard I have to unplug the machine. Nor does any saved information get deleted unexpectedly. But video games, I can't say the same thing. It seems like this is an industry that is most heavily plagued with software issues, to the point that standards might even be lowering as we speak.
So, I'm wondering why does game software specifically crash so hard, whereas most other types of software do not? I know, in practice, debugging is an asymptotic process with diminishing returns for any programming endeavor, but I don't get the impression that software in general suffers from the extent of fatal bugs like the sub-field of game software does. And considering that game devs are selling an immerse experience with their games, how much more unimmersive can you get then watching your horse violently spin up into the air, or to find an essential NPC just dead in front of his shop?
Re: Why video games crash&freeze&lag, while software in general doesn't.
Game engine design, and game-specific application design, is extremely complicated - it's a bunch of systems interacting in all kinds of ways, a web of interactions that surpasses most other kinds of software. On top of that, a whole lot of data is being processed and tossed around in memory and between hardware components at any given time, and it's all required be interactive - i.e. in real time in an informal sense.
Thus, even with all the testing and debugging, it's not that unusual for a crash to happen.
High quality products should of course strive to reduce those to minimum.
As for Bethesda, and others... deadlines can reduce the quality standards, or at least set other priorities.
For example, The Call of Cthulhu: Dark Corners of the Earth (:D) is a great game from Bethesda, but it's rather buggy. Other things, though, counterweight that. But, if it was much less buggy, it would be a product of a much higher quality.
Lag - over the network:
That's one simple. Games will generally tend to send/receive over the connection as a small amount of data as possible. If the connection is fast enough, it all runs smoothly. If not, the application has to figure out what to do when there's no data. It can either behave as if there were no updates, or it can try to predict the states of its objects based on what was previously going on. With sufficiently slow connections, both will result in game entities behaving strangely - "teleporting" from place to place, going through walls, or avoiding damage from projectiles that apparently hit them, or mysteriously appearing dead, and such...