In determining which language to display content in by default, there are, as far as I know, three basic methods:
- Examine the Accept headers sent by the browser.
- Use IP geolocation to determine the user's location and guess an appropriate language.
- Force the user to explicitly select a language, as exemplified by Wikipedia.
It seems to me that option 1 is far more reliable, as the default headers sent by the browser are the same as the OS's interface language, which will normally be a language the user understands. On the other hand, geolocation doesn't reveal anything about an individual user's preferences; it only reveals what the majority in a location prefer and has a tendency to annoy and/or confuse people who may be traveling (how come Facebook suddenly changed to Korean?).
For these reasons, it would seem obvious that all the major sites would be using option 1. However, my experience as an English speaker living in Korea shows that the major sites (such as anything by Google, Facebook, Skype, etc) all use option 2. Why? If I create a multilingual site, should I risk annoying users such as myself and choose option 2, as well?
EDIT: As for option 3, I think there's a good reason why most sites don't follow Wikipedia: It's a terrible way, because it forces the user to configure something that the site should figure out.
Many people in the answers and comments have mentioned making it easy to change the language. I agree that it's important, but I think it's a bit off-topic unless you're recommending option 3, because this question is about choosing the default language.
EDIT 2: I'm especially interested in the reasons why many sites do things the way they do. Option 2 seems incredibly obvious to me, but I assume that the major sites that have chosen option 1 must have some sort of reason for their choice.