Játékok terén nem vagyok képben sajnos.
De egy példával tudom szemléltetni neked. :)
Van egy megrendelő, aki szeretne tőled, mondjuk egy szoftvert, amiben számon tudja tartani az állatai számát. Van rá egy kerete, x összeg.
Az x összegbe bele kell férnie a fejlesztésnek. Tehát, fogsz egy kész adatbázis kezelőt, egy kész drivert hozzá. (ha már java-t említetted), egy hibernate-t, esetleg kényelmi szempontból még egy jó kis keretrendszert. Olcsón, gyorsan el fog készülni, relatíve bug mentesre. Cserébe feláldoztál a futtató gépen +500mb ramot, de belefértél a keretbe. A megrendelő boldog, te boldog vagy, a szoftvernél nem fogsz +400órát adatbázist implementálni. Ez egy nagyon szélsőséges példa, de remélem érezhető. (olcsóbb 20*512 ram, mint +400 munkaóra)
Játékoknál kb. ugyanez a helyzet, bele kell férniük a költségvetésbe (és időbe, ami játéknál elég fontos tényező)