I have drawn some sketches
The machine, where the ssh tunnel command is typed is called »your host«.


Introduction
local: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost means: connect with ssh to connectToHost, and forward all connection attempts to the local sourcePort to port onPort on the machine called forwardToHost, which can be reached from the connectToHost machine.
remote: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost means: connect with ssh to connectToHost, and forward all connection attempts to the remote sourcePort to port onPort on the machine called forwardToHost, which can be reached from your local machine.
Your example
Well, if you only would like to make X forwarding work, i.e. run some X applications on the computer at home and have them displayed on a remote system (let’s call it work computer, because it might be at your workplace), then you possibly don’t need an ssh tunnel at all.
Start X applications without tunnel
Can you simply ssh from the work computer to your home computer? If so, when you are sitting on the work computer and want to start an X application which runs on your home computer but displayes on your work computer, you have to type (on the work computer):
ssh -X homeuser@homecomputer firefox
This will start firefox on your home computer and display it on the machine where you typed this command, e.g. your work computer.
Hidden computer needs tunnel
This is image number 3 of my sketches. Many times the home computer is not reachable directly from the internet, because it is behind a firewall or hidden through NAT (from a router). Then you can use a tunnel.
At your blue home computer (yourhost) you type:
ssh -R 5555:localhost:22 remoteuser@remotehost
where 5555 is the green port and 22 ist the pink port in the image.
If you are now at work, at the remotehost, and connect to the green port 5555, your connection is tunneled/forwarded to the pink port of your home computer’s localhost (i.e. your blue home computer itself). Now you have to type on your work computer:
ssh -X -p 5555 homeuser@localhost firefox
which will start firefox on your home computer (yourhost) and display it on the machine where you typed this command, e.g. your work computer (remotehost).