A session is a connection to the database either from a user
or an Oracle process.
A user is a name in the dba_users table. A single user may
log onto the database multiple times (creating multiple sessions).
ie: John Smith logs into 3 separate applications using
the same database. He has 3 sessions
The number of transactions has nothing to do with the sessions
A session is a connection to the database. It could be that a single user could have several sessions at a time. (This would especially be the case if an application has its own user ID.) When you look at the V$SESSION view you will see the background processes as well although I am not sure they count as "sessions".
A transaction is a set of SQL commands and ends with a COMMIT, a ROLLBACK or a LOGOFF (or a session abort).
I guess that technically you could say that every session is in a transaction at any given moment. On the other hand if you look at the V$TRANSACTION view it will show you the number of transactions that are actually making a demand on rollback segments. This is probably what you are interested in in the first place.
I suggest you check the counts in V$TRANSACTION in your own environment to get a feel for the ratio of sessions to transactions. I would expect the number of transactions to be very much less than the number of sessions.