The "optimum" cluster size varies for everyone, depending on what you're doing. The need for very small cluster sizes has essentially gone away in the past several years. Originally there were two related reasons: slack space, and lack of space. Lack of space was exacerbated by slack space.
Slack space is described above, empty space caused by clusters being larger than the files they contain. With small hard drives and lots of small files, this could be a problem with a large partition, since FAT16 used 32K clusters for a 2GB partition. FAT32 alleviated that problem by allowing 4K clusters up to 8GB, though you can also specify the cluster size to use rather than the default.
With larger and larger hard drives, the problem of wasted space becomes lessened. Who really cares if we lose a few hundred megs out of 20GB or more? In addition, how many files are less than 16KB in size these days? (16K is the cluster size for up to 32GB in FAT32.) While there are a lot of files under that size, a good huge percentage of files on a system are now WAY over that, so that you're not wasting as much as you used to with a 16K cluster size. So you might waste 12KB with a 16MB file that doesn't quite fill that last cluster. Who cares?
In addition, the smaller your clusters, the MORE clusters you need to fill a particular partition size. Windows has to keep track of all those clusters all the time (the addressing of them) and it has to keep them in memory. When you do a disk defrag or scandisk, the more clusters it's having to track, the slower it goes.
I keep my clusters at 16KB now. With smaller drives (and smaller partitions, like 2GB) I used 8KB. This seems to be the optimum for me.
Oh yes, NTFS uses 64bit addressing, which is why its maximum size is still larger than FAT32.