You really want that with a roleplaying game, but some games, you tend to have more linear gameplay going through a set of levels. You know, whatever's appropriate. It's more of a balancing act between all of the different tradeoffs. There's also the simplicity issue. If you can write something in 10 lines of code, or 20 lines of code and do it slightly better, it's usually best to do it in 10 lines and just take the slight penalty for it because you end up with an enormous amount of code that you have to deal with every day.
Productivity becomes the limiting factor in game development.
No game doesn't ship because the artists were late finishing their work. You want to divide the code up into modules. There's a lot of reasons for that. One is it's easier to isolate problems. Another is it's easier to work on a project with multiple people.