Users often find themselves using a browser which sends accept-language headers which do not actually reflect their preferences. This is why web sites are in the habit of offering an explicit UI (often a set of flags) for the purpose.
My day job has a large aspect of I18N consulting (see www.basistech.com) so I know a bit about this.
