When a filesystem is created, case-sensitivity and case-preservation is configurable.
In Unix filesystems, filenames are usually case-sensitive.
Windows is a mish-mash of case-sensitivity:
FAT12 filesystem was case-insensitive
Windows filesystems (VFAT, FAT32) are not case-sensitive but are case-preserving
NTFS is case-sensitive, but the API for file access in Windows applications is case-insensitive, which makes filenames case-insensitive from the application’s point of view.
Mac OS is unusual in that it uses HFS+ in a case insensitive but case preserving mode by default. (reset with http://www.digitaltransitions.ca/blog/files/acl-settings.php)