A first level ODS, you always store future objects, which you know the business might need.
A second level Cube, which have only object that business use currently. This will save time for loading.
Ex: Later on when business need to add an object that does’t exist in the Cube and also need historical data. You don’t have to run Init Set-up on R/3 side(require R/3 down time) and delete data in the cube then re-init load on BW.
Hope this help