SQL*Loader on it's own is limited, but you can implement it though External Tables, and look at pipelined function, MERGE command, and all the other ETL-friendly functions available in SQL + PL/SQL and get a very solid, capable ETL system.

Have a look at the Oracle Data Warehousing guide for more useful features.