This might get a bit confusing, as there are two ways to suspend. The native one, which only requires the kernel and can be triggered by echoing to /sys/power/state, and an user-space one in the suspend extension.
Both can suspend either to ram or to disk. The in-kernel one can not suspend to a file, the disk option saves ram contents to a swap partition. The extension can suspend to a file, and compress it.
I only use the kernel one, as it works for me and it is "less for something", no need for an app if the same thing can be done otherwise. Juanito can tell more about the extension, I'll describe the kernel suspend:
There are 3 states: disk, mem, standby. If you use cat to view /sys/power/state, it will show which are supported on your machine. Mem and standby are similar states that both suspend to ram; use which ever works for you. Suspend to disk turns the machine off, and can restore the full state later. To use it, you need to tell the kernel which swap partition to use, "resume=/dev/sda2" for example added to the boot arguments. It needs to be given both before suspend, to tell where to save, and after, to tell where to load from. Best to keep it there always
Because there is no compression, you need to have more swap than you have RAM to be able to suspend to disk.