Just some minor corrections, DRAM memory is volatile rather than non-volatile as in your question. Flip-Flops are also volatile as they require power in order to retain their state. Volatile memories loose their cohesion, and therefore their stored data, as a matter of course when power is removed. The definition of volatile can be seen here:
(Electronics & Computer Science / Computer Science) Computing (of a memory) not retaining stored information when the power supply is cut off.
DRAM also has the problem that it looses it's data even when powered and requires constant refreshes to retain data.
A true non-volatile memory by comparison requires no external power to be connected in order to retain data.
Before EEPROMs and Flash memory became so prevalent the only realistic way to achieve (admittedly fake) non-volatile memory was to use a battery-backup of some sort. This meant that the amount of memory was highly limited in order to keep current required to a minimum and therefore increase the amount of time data could be stored for.
Nowadays though non-volatile memory technologies have advanced quite considerably and given us massively large data densities, but they still lack the write endurance and raw speed of their volatile cousins.
For Flash memory Wikipedia gives the best visual interpretation of a Flash memory Cell (note that this is a "NOR" gate and while the process is kind of similar for a NAND gate there are differences):
Basically your "Floating Gate" in this picture is where your data bit is stored, it is an electrically isolated area in the circuit. You pass a very high momentary current across the contacts of the gate (from the source to drain and top "Control Gate") and as a result of this high current electrons will be "injected" into the floating gate, thus storing a bit there.
Because the Floating Gate has no direct electrical connections the injected electrons can do nothing but sit there, trapped on the gate.
The state of the floating gate can be determined quite easily as it affects the electrical characteristics of the circuit across the source and drain. The problem comes when you try to reset that bit, it requires a strong current to once again "suck" electrons off of the floating gate and this causes damage in the insulation and thus limits the number of times the cell can be written and erased.
The requirements for high erase current mean that it is a slow process to erase a memory cell and so it is much slower than DRAM which can be changed quickly and without any exorbitant costs in terms of current or voltage.
FRAM is a non-volatile memory that uses electric currents to change magnetic alignment of sections of a ferrous material, and then requires a good deal of electronics to read that data back, but the data can be changed much more easily than flash. As a result it is a lot faster than FLASH memory but has a much lower data density and is less useful for mass storage devices.
There are other methods of storing and reading data in a non-volatile way, such as "Phase Change Memory" (PRAM) which uses an electric current to modify the structure of a crystalline material, the electrical properties of which change depending on which state it is in and thus is electronically "readable".
As I mentioned the main downsides with all these memories is that they tend to either be slower, have lower data densities or have other requirements or issues that prevent them from entering mainstream use.
This Wikipedia article is a good start if you are wanting to look into the subject more and has several links to various types of Non-volatile memory.