When you ask about advantages of staging area and ODS, do you mean compared to a data warehouse? I'll assume such for my response, but correct me if I'm wrong.
An ODS is typically set up for a smaller data set than a data warehouse, and expected to answer queries with fast response times. It's usually set up and optimized for just one operational system, whereas a data warehouse typically covers multiple business areas. An ODS can usually only answer a limited number of questions but does it rapidly.
A staging area is basically where source data for a data warehouse is loaded prior to populating the actual data warehouse tables. An ODS might not use a staging area, but most DW implementations do. Some are persistent staging areas which remain and are archived in that state, and some are deleted after each load.