I've always wondered why all those Chinese dialects that are not or barely understood by their various speakers are considered one language with various dialects but Spanish and Portuguese or Dutch and Danish are considered different languages and not different dialects of a common language. What are the salient differences the people who decide these things use to define them as languages or dialects?
I can provide an answer to one small part of your question.
Most of South America speaks Spanish, due to the colonization efforts of Spain. Because of the frequent travel and huge trade back and forth across the Atlantic, differences between continental Spanish and Latin American Spanish are fairly minor.
The biggest South American country, Brazil, speaks Portuguese and the differences between Brazilian Portuguese and continental Portuguese are larger (mainly in pronunciation, but also in vocabulary) due to the smaller amount of travel and trade.
It is often said that modern Brazilian Portuguese is closer to the Spanish of Renaissance times than to modern continental Portuguese, due to the isolation of Brazil in the past.
So, after all that background, today the situation is that in South America the two languages have a virtual one-way mirror between them. An Argentine (for example) can be absolutely mystified when traveling in Brazil. He understands only a little of the spoken Portuguese he hears, although he can read it well enough.
On the other side, Brazilians have hardly any difficulty at all when traveling in the rest of the continent. And if they want to converse privately in Buenos Aires, all they have to do is affect a strong Rio accent.
I spent a number of years down there, and I always got a kick out of this fact. Sure, there are similarities, and a cursory review might call them dialects, but anyone living there will confirm that they are definitely two languages, not just dialects.