There are 2 ways to install Puppy on your hard drive: Frugal and Full. This info about the two is modified from a forum post∞ by Sit Heel Speak.
I wrote this essay in mid-2007 in the hope that it will help new users of Puppy Linux to make informed decisions with confidence, when using partitioning software and the Puppy Universal Installer for the first time. SHS
On a full hard disk install, the conventional Linux filesystem / and its subdirs /boot, /bin, /etc, /lib, /mnt, /root, /sys, /usr, /var and perhaps some others I'm forgetting some are placed straight onto the disk.
On a frugal install, they are placed inside a single file, the pup_xxx.sfs file, which itself contains a compressed read-only ext2 filesystem into which the Linux / dir is placed, with its subdirs inside it. There is also a pup_save.2fs file which contains an uncompressed ext2 filesystem. This one, called the "save file", stores any changes or additions you make to the normal filesystem. On boot, pup_save.2fs is superimposed over pup_xxx.sfs so that you see a complete filesystem. There are only three other small files: initrd.gz, zdrv_xxx.sfs, and vmlinuz, the latter of which is the kernel. Thus you can conveniently back up everything to for example a USB key, by simply copying /mnt/home/pup_save.2fs plus vmlinuz, initrd.gz, pup_xxx.sfs, zdrv_xxx.sfs, and your grub or linload bootloader marker and config files to the key. Technically though, you only need to back up the pup_save.2fs file, because the rest are all the original files from the CD/ISO.
On a full hard disk install, vmlinuz is (usually) in /boot, firefox is in /usr/bin and so forth. On a frugal install vmlinuz is outside of pup_save.2fs somewhere on the "real" filesystem. firefox in frugal is also in /usr/bin, but /usr/bin itself is not directly on the disk but rather is in /initrd/pup_rw which in reality is pup_save.2fs on the disk's "real" filesystem, "union'ed" into the overall Linux / directory tree in pup_xxx.sfs using special Puppy magic.
Another thing frugal installs do is copy the pup_xxx.sfs file into ram if there is enough memory, causing apps to start slightly faster. If the computer does not have sufficient ram, it will instead mount the pup_xxx.sfs file from the harddrive.
In the case that a frugal install's pup_save.2fs file is on a flash-based drive, Puppy will actually store any changes and new files you make in ram, and only copy them to the pup_save.2fs file on the drive periodically (or when you click the "save" icon or shut down). This is to cut down on writes to the drive to extend it's life. This behavior does not happen on non-flash media (if it does you probably forgot to set the pmedia=satahd parameter when using a SATA drive).
You can place a frugal install on a pre-existing Win98 install; the pup_save.2fs (though it itself contains an ext2 filesystem) can reside on a vfat (fat32) partition, and if you are adventurous I believe even on an NTFS partition. Which is why a frugal install is also called a "coexist" install.
Not so with a full hard disk install: you can't place a full install on a pre-existing vfat or ntfs partition, because these Microsoft filesystems do not support Linux symlinks.
A full hard disk install is your preferred choice on a computer with not enough ram to hold Puppy, say Puppy 2.15CE and only 192MB of ram, because programs and data can be mounted from disk--no need to occupy ram. And doesn't need to coexist on the same partition as Windows.
If however you have enough ram for the particular Puppy version, a frugal install is better, because almost everything (i.e. everything in pup_xxx.sfs, but NOT pup_save.2fs) is loaded into ram, therefore called from ram, therefore loads faster.
However, if you have fast newer disks and plenty of ram, frugal loses its speed advantage. On a P3-1GHz machine with 1GB of ram and UDMA5 hard disks, there is no material performance difference between a frugal install and a full hdd install, provided the full install is on a reiserfs partition.
On a P3-800 laptop with only a UDMA2 hard disk, there is a great deal of difference. If you have enough ram to hold Puppy, e.g. 256MB, then the frugal install is the only way to go.
If you want to dual-boot Puppy alongside Windows without repartitioning, then the frugal install is the way to go.