Session-specific events, Extensibility, Platform scalability,Data placed in session-state variables can be preserved through Internet Information Services (IIS) restarts and worker-process restarts without losing session data because the data is stored in another process space. Additionally, session-state data can be persisted across multiple processes, such as in a Web farm or a Web garden.
Only serializable objects can store in Session. As Inproc session stores in server memory so in case of Large voulme of data it impacts server performance.
Advantages: Session provide us the way of maintain user state/data. It is very easy to implement. One big advantage of session is that we can store any kind of object in it. :eg, datatabe, dataset.. etc By using session we don't need to worry about data collesp, because it store every client data separately. Session is secure and transparent from the user. Disadvantages: Performance overhead in case of large volumes of data/user, because session data is stored in server memory. Overhead involved in serializing and de-serializing session data, because in the case of StateServer and SQLServer session modes, we need to serialize the objects before storing them.