A session is a collection (a superset) of connections.
A connection only tells you very basic things (layer 3-4 information) about a single TCP/UDP connection.
It does tell you how that single connection relates to others that have been seen from that same user/host.
A session correlates what happens over several individual connections, including information from multiple blades (e.g. App Control, URL Filtering, Identity Awareness, etc) into a single log entry.
Through looking at thousands of individual connection logs manually, you could probably tell Joe Roberts spent an hour surfing Facebook.
A session log can show you this in a single log entry with the number of bytes transferred, an estimate of how long he spent, and so on, all correlated automatically.