HTTP is a stateless protocol i.e., every request is treated as new request. For web applications to be more realistic they have to retain information across multiple requests. Such information which is part of the application is reffered as "state". To keep track of this state we need session tracking.
Typical example: Putting things one at a time into a shopping cart, then checking out--each page request must somehow be associated with previous requests.