"C" locale differs on English locales (en_US, en_GB, etc) in quite many things.
Try, for instance, take listing of /usr with "C" locale
env LC_ALL=C ls /usr
and in English locale:
env LC_ALL=en_US ls /usr
(so sorting or collating rules are different here).
"C" locale provides programmer an environment of "least surprise", it behaves like the Unix systems behaved before locales were invented. In many shell scripts you can see things like
or running a single command with C locale
System locale is something specified in /etc/sysconfig/i18n with the LANG variable:
(There is a problem in FC3 that the system locale cannot be "C", I'm afraid).