Alt+TAB in DirectX isn't defined by Microsoft's DirectX API (at least not under DX9 and prior - I don't know about DX10). What this means is that developers and video card and driver manufacturers cannot know in advance how to handle what happens if a user task switches out from full-screen. If a game is running full-screen, and requires some sequence of events to complete once that sequence begins, it (the game, and the developers of the game) can't really know in advance if a user is going to alt tab out in the midst of that critical sequence. Sometimes, nothing bad happens. Sometimes something bad happens. And it varies from system to system, not just game-to-game. And a developer or video card/driver manufacturer can't always put in code checks to see if alt-tabbing occurs at each little step in code - because you may add too much overhead and result in poor performance that makes the game run horribly. So they may make trade-offs, between necessary performance for their game, at the expense of risking the game/app not functioning well if/when a user decides to alt-tab out to check email or what-not in the middle of the game.
I tend to be able to Alt-tab out without problems in most games I've played. In fact, alt-tabbing has fixed some problems (early release versions of Oblivion under 7 series nVidia GPUs would not clear texture memory from GPU cache effectively, and in some cases would start swapping and thrashing between GPU texture memory and system main RAM which is much slower). Alt-tabbing would be one of several ways to force my particular GPU to drop it's 3d textures in cache, to display the 2d desktop - and then return to a decent level of performance in-game when I switched back. Sometimes alt-tabbing corrupts textures for pretty much the same reason it fixed the above issue for me.
Running windowed mode doesn't 'fix' the problem, but because video memory isn't swapping between full-screen 3d and 2d desktop when in windowed mode, it sort of side-steps the fact that DirectX API doesn't clearly define how to handle alt-tabbing back and forth out of 3d mode.