What is ZFS?
ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. ZFS is open-source software and has therefore also been ported to FreeBSD the OS behind FreeNAS.
A traditional file systems resides on single hard drive and if you want to use more than one hard drive they need to be combined either with RAID or with a volume manager.
ZFS is different, all ZFS filesystems are built on top of virtual storage pools called zpools. A zpool is constructed of virtual devices, which are themselves constructed of physical hard drives (or indeed files or hard drive partitions).
Hard drives within a virtual device may be configured in different ways, depending on needs and space available: non-redundantly (similar to RAID 0), as a mirror (RAID 1) of two or more devices, as a RAID-Z group of three or more devices (which is similar to RAID 5), or as a RAID-Z2 group of four or more devices (which is similar to RAID 6).
You can find more technical details on ZFS at Wikipedia.
What is iSCSI?
iSCSI (Internet SCSI) is an evolution of the SCSI protocol, which allows SCSI commands to be sent over a network. It allows two hosts to negotiate and then exchange SCSI commands using IP networks. The result is that a remote device with iSCSI capabilities can be seen to be a local disk drive but the commands and data for that device are being sent over the network rather than down a cable in the machine.
In iSCSI clients (called initiators) are able to send SCSI commands to SCSI storage devices (targets) on remote servers.
FreeNAS can act as an iSCSI initiator or and iSCSI target.
What is RAID?
Redundant Array of Inexpensive Disks or Redundant Array of Independent Disks (as it is more commonly called now) is a technology that uses two or more hard disk drives to achieve greater levels of performance and reliability.
A RAID distributes data across several physical disks which look to the operating system and the user like a single disk. Several different arrangements are possible (called RAID levels). Usually all the disks are of the same capacity.
RAID levels 0, 1, and 5 are the most commonly found, and cover most requirements.
RAID 0 (striped disks) distributes data across several disks in a way which gives improved speed and full capacity, but all data on all disks will be lost if any one disk fails.
RAID 1 (mirrored disks) uses two (possibly more) disks which each store the same data, so that data is not lost so long as one disk survives. Total capacity of the array is just the capacity of a single disk. The failure of one drive, in the event of a hardware or software malfunction, does not increase the chance of a failure or decrease the reliability of the remaining drives (second, third, etc).
RAID 5 (striped disks with parity) combines three or more disks in a way that protects data against loss of any one disk; the storage capacity of the array is reduced by one disk. The less common RAID 6 can recover from the loss of two disks.