Full nodes provide lookup of historic blocks, which is necessary for new nodes synchronizing.
Full nodes provide filtered transaction lookup for SPV clients, which is necessary for those clients to function.
Full nodes validate blocks and transactions, and relay them.
Jameson Lopp wrote an interesting piece on the importance of Full Nodes here.
Coindesk wrote their own piece on the subject that can be found here.
You can explore current Full Nodes here.
Unlike with mining, you do not earn any money for operating a Full Node. The only benefit you get is that warm fuzzy feeling that you are helping to support the Bitcoin Network. That being said, if you own any bitcoin or run a Bitcoin based business, you do indirectly benefit from a stronger and more robust network .
1) First you need a computer or server that can be kept online as much as possible. This computer needs to have at least 30GB of free space. Over time it will need more space as the blockchain grows in size. (May be worth it to purchase a cheap external hard drive)
2) It should also have a fast and reliable internet connection that does not have any usage caps/limits. (Our Full Nodes average about 3-4GB worth of uploads every 24 hours)
3) Install the Bitcoin Core Software.
4) Wait for historical data to download. Bitcoin Core initial sync can take 3-10 hours on first startup.
5) After the download is complete, scroll over the signal bars on the bottom right hand corner of the Bitcoin Core window. It will tell you how many connections you have. If you have more than 8 connections, then everything is working great. If you have 8 or less connections, you need to sign into your router's software and forward port 8333.
The Bitcoin.org in-depth guide to running a Full Node can be found here. It is more complicated than this guide but is a great resource if for some reason something isn't working after you follow our guide.