SSH: What's the difference between -L and -R?

It's right there, in the man page:

-L
Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side.

-R
Specifies that connections to the given TCP port or Unix socket on the remote (server) host are to be forwarded to the local side.

(highlighting by me)

The difference is the direction. -L forwards local to remote, -R the reverse.