How come only a couple of places in Spain actually speak Spanish?
In the North they speak Basque, in Barcelona they speak Catalan and in other areas they speak Catalan and some other dialects... How can they understand each other?
How can they understand each other?
We use Spanish as a lingua franca ;)
Spanish (castillan) is spoken by all the population of Spain. Every spaniards, whatever he/she is basque, Catalan, Galician, etc. can speak spanish fluently. People are bilingual. Actually if you go to Bilbao, San Sebastian, Barcelona, etc. or any other city supposed not being spanish-spaking, the language you will more hear in the streets is... Spanish.
Inversely, in Cataluna, for exemple, not all the people can speak Catalan. Especially in big cities such as Barcelona where about half of the population can't speak Catalan at all (people that descent for other Spanish regions than Cataluna or from latin America); when everyone can speack Castillan.
Anyway, concerning Catalan, Castillan, Galician... these languages are closely related languagers part of the same romance group and are not hard to understand for someone you speak one of these.
The difference between Valencian and Catalan is similar to the difference between Galician and Portuguese, they share the same origin, they're not dialects but separate languages now.