The locale setting is a way of defining how programs operate in an international or geographic context. Running software in London and New York may be very similar apart from the instantaneous time setting. The time in New York is 5 hours behind London. If the software running in both locations needs to communicate with the other and will have to perform time based operations on data, then to remain properly synchronized they may need to be aware of the number of time zones between the two systems and make adjustments accordingly.
Other behavior may dictate date formats, currency symbols, the format of decimal values, thousands separators and spelling. Non English speaking locales may use the same textual presentation (Roman Scripting) but spell words in the local language. Character set substitution may accomplish much of what's required although this is somewhat ameliorated by the use of Unicode. Sometimes the direction that the text flows may be different. For example, European, Middle-Eastern and Asian languages use different character alphabets and text directions.
The implementors should thoroughly document all of this locale specific behavior.