A backup image of the Android system that can be made through Clockworkmod's custom recovery.
Once in recovery mode, you can choose
Backup and restore -> Backup and the system will create an image of your Android system as is, that can be restored later.
Nandroid backups are generally used by those who frequently flash ROMs, as they can be easily restored and make an exact copy of the system as it was. The files it creates are often large, usually between .5 GB and 2 GB, depending on the size (and filling) of the device's partitions.
A Nandroid backup basically creates full images of all your device's partitions (see: partition), without any abstraction. This does not necessarily mean one could not pick single items out of a Nandroid backup, but its not that trivial. If you restore a single partition only (such as
/data), it must fit the other parts of the system. The
/data partition also holds the
/data/dalvik-cache, for example, which consists of the byte-code for all installed apps, optimized for the rom which created it. If you would restore only the
/data partition from a backup of ROM-X to a device with ROM-Y, those DEX (Dalvik EXecutables) would not fit. Also ROM-Y might use different directory structures for several things, which are not reflected here. As a result, you might have a unstable system (which might not even be able to complete its boot process), see apps crashing, and the like.
Doing this would not be such a good idea. So for the average user, a Nandroid restore is rather an all-or-nothing: Either restore it completely, or not at all. Unless you know exactly what you're doing, of course.
Related questions to check for additional information