When you look at the services provided by the OSI Session Layer, the most essential service (which is the Data Transfer) basically provides access to a "pipe" through which data can be exchanged between two systems.
This "pipe" has some additional features (such as the establishment of connections, the possibility to exchange synchronization marks, express data, etc...), but the mostly used service (Data Transfer) is limited to the exchange of data under the form of streams of octets.
However, the concrete applications rarely use data which are as simple as streams of octets. Application Data are usually structured according to the facilities of the programming language used for them regarding declaration of types. They can include sub-structures, arrays, linked lists, integers, reals, booleans.
As the machine representation associated with such type declarations depends on the programming language itself, the compiler and the processor attached to the hardware of the system, the exchange of plain streams of octets cannot rely on a simple exchange of memory dumps between the applications.
For a given system, the machine representation usually integrates peculiarities such as most-significant / less-significant bits for integers, alignment constraints for fields of structures, pointers representation for linked lists, etc... Achieving the exchange of such values at the application level in an open manner is not something that applications can easily achieve without some additional protocol : Presentation Layer.
The Presentation layer includes all the protocol and functions which are necessary to fill the gap between the session service (exchange of streams of octets) and the presentation service (exchange of application data which are structured and typed). As a consequence, the OSI model includes in the Presentation layer all the encoding / decoding mechanisms necessary to realize the mapping of the application data onto those streams of octets.
The service provided by the Presentation layer is therefore independent of the actual representations associated with the application data values.