So, why do websites have to ask (spoken) language and country when the
browser can tell them that?
Asking for the country can be beneficial even if the language doesn't change; for example, there're a lot of sites offering different services and products for different regions. I don't like to be bothered with the products that aren't available for me in general. However, what if on the next day one of my friends will tell me that they will travel to X country and he could pick something for me while he's abroad? Valid user case for changing country for checking availability.
Spoken language is another thing; sites can offer multiple languages if they have a good system for doing that (that's quite a problem even in the most popular systems like Wordpress and Drupal, just do a quick search). And even if they have the right system it's quite likely that the same content is going to be slightly different on the different languages.
Example situation - Site for a Hungarian company targeting international market
Imagine that you're a native Hungarian like me. You speak some English, enough to communicate, but not on a native level. You get a job for building a site for a Hungarian company which would like to target both Hungarian and international market. So you will have to make a multilanguage site. But what if the content creators at the company aren't speaking English well? The content qualities won't be the same in Hungarian and English. Maybe you'll have some mistranslated stuff as well. Even in the best case it could take some time to translate the content. It's possible that the new content won't be uploaded in every supported language at the same time.
Reverse: international company targeting a new region
The reverse situation is possible, to, for an international company with a new Hungarian office. If I would like to read their site, I'm almost sure that I would change to English immediately. It's likely that they won't be able to translate every article to Hungarian if they have a really tight timeframe.
Basically the more freedom people has with choosing the language and region, the better. It's not recommended to rely only on environmental settings like browser settings, OS settings, since it's quite common that a language switch is needed. (It can happen even in the midst of reading an article when you suddenly realize that you're not good enough in that language to read that article.) The content creator most likely won't be able to support all the languages at a time, so it's likely there will be some delay in translating content - another reason why you should allow switching.
Of course you should try to guess which should be the default language for the user. In this case, using the browser's language detection should be a good starting point.