The problem with maintaining state is that the web is an essentially stateless environment. Each time you click a button and proceed to a new page, your request is totally separate from the previous request.
Much of the time, application developers work to build applications that "remember" things about previous user requests. A user who is still logged in to the application could produce those requests, but this "recall" could extend to previous visits to the application that took place months ago.
ColdFusion provides different variable types to help developers overcome the problem of maintaining session state.