FAT32 is the successor to FAT16 in the line of FileAllocationTable FileSystems, designed for use with current HardDisks. It was a bigger evolutionary step from its predecessor than the one from FAT12 to FAT16, not only in terms of added FileAllocationTable entry bit width, but also in terms of internal structure which had not changed between FAT12 and FAT16.
FAT32 uses a fixed DiskCluster size of 4Kb. Since it can address 2^32 clusters, this is sufficient for 16TB of storage.
Windows does not let you format a disc of 32GB or greater with FAT32, as an attempt to push everyone to using NTFS. It can, however address large discs fine. There is, however, fat32format, an OSS utility for formatting large FAT32 partitions. Linux can format FAT32 partitions of any size, with no problem.