Your second variant has the best SEO properties. It keeps all pagerank on a single site, and limits the risk of accidentally creating duplicate URLs for the same content.
To me, the question really is, do you have subsidiary companies / agents / sub-communities in each country that are 'large & distinct enough' to need their own site? A qualifying need could be anything from:
- wanting a local domain for email addresses
- a site where content is updated on a different schedule from the parent site
- just needing a local site for a local community to feel independent
If you don't have such an organizational / cultural need for separate sites, then my general recommendation would be your second variant, with an automatic server-side re-direct to the most likely language of the user. And of course a visible language override on the HTML page, so that the user can correct errors in the auto-detect.
Language selection can be an art in itself. The old-fashioned method is a splash page where the user selects the language himself. It works, but it's kind of ugly.
Next up is a server-side 302 / 303 redirect based on the browsers accept-language header. It kind of works -- but some browsers are misconfigured, f.x. corporate workstations are set for the corporate language of English and not the local language.
Last up is a server-side redirect based on the IP address of the request, matched against a geo-location database like the one from Maxmind. Again, this kind of works, but I know from experience that it's not perfect -- I'm from Denmark, but my ISP buys his peering in Sweden, so I often get Swedish text. :-O And it's worse when I'm traveling...
The server-side language selection based on IP address seems to be the most common now, at least it is what Google, Skype and many others do.
One last thing, I have noted that Mozilla and some others have begun using a locale code like "en-US" instead of a language code like "en" or "eng". This could be a shortlived fashion trend, or it could be lasting -- to me, it really sets an expectation of the content being fully localized and not just translated.