In the Nexus Tool Kit, there are nandroid back up & android back up.
What is the difference ? Should I back up both options just in case ?
When restoring, which one should I use ?
The difference is this: When you preform a Android backup you are backing up contacts and other USER data, but you are not backing up (creating an IMAGE) of the state of your phone at the time of backup. In other words, if your Nexus (or phone) gets into a bootloop or freezes an Android backup won't help you muich. On the other hand if you get into a bootloop or phone freezes, as long as you can boot into a stock recovery or a custom recovery then you can flash your nandroid backup and restore your Nexus back the "state" it was in before the freeze/bootloop etc. You have to be rooted and use something like CWM or TWRP to enable a custom recovery and create a nandorid backkup. This is a pretty simplistic explanation, but I hope it gives you a better idea of the difference between the two. You can run both backups, but if you have a custom recovery and using CWM or TWRP a nandroid will backup the same user data that an Android backup performs plus the "state or image" of your phone at the time.
There are a number of good apps in the Play Store to use to backup your pics, videos, music etc. I also recommend you use a free "cloud" service like Google Drive (app available in Play Store) to backup the personal data you want to protect so that if something bad happens to your device there is a backup "off" the device. Google Drive cloud service is free. Keep in mind, the only way to do a complete backup (personal data and restore your phone to an operational state) is to do a nandroid which requires root and a custom recovery.