I'm sure we've answered this general sort of question before but, hey ho.
Castillian, the language that is generally thought of as Spanish is spoken all over Spain. In Galicia, the País Vasco, Catalonia, the Valencian Community and the Balearics there are other languages that are co-official and lots of people speak them too most notably in Catalonia. There are several nationalist movements in Spain and speaking Catalan, Gallego or Basque is seen as an important part of that local identity. Catalonia is the most extreme situation where some people will almost refuse to speak Castillian even though they know the language. The Valencian Community and the Balearic Islands have regional variations on what is basically Catalan though there are some important differences. Lots of people in the Valencian Community are bilingual in Valenciano and Castillian though I have only encountered one person who was unwilling to speak to me in Castillian in fourteen years of living here. There are several other languages but they are a minority sport a bit like speaking Cornish.
You can survive in Spain in English but there are times when that will mean that you have to employ a translator in situations where the information needs to be precise or at places where the locals are fed up of putting up with foreigners. Doctor's surgeries for instance often say something along the lines of "if you don't speak Spanish bring someone with you who does."
Learning Spanish is, in my opinion, the key to living in Spain. To use British examples you may be perfectly happy living in a little ghetto listening to Radio 2, reading the Daily Mail and watching TV imported from the UK but it's a long way from Spain. If you want to know what's happening around you, find things on the Internet etc., then you will need Castillian and whilst you may be able to have a laugh as you talk to your Spanish neighbour with hardly a word of shared language between you you're unlikely to find out much of any note if you are unable to string two words together.
Spanish is an easy language to speak but most of us find it really hard to learn. We don't have the same sounds and building up a decent vocabulary takes ages. They have complicated verb structures in comparison to English and the gender of words adds another problem. The pronunciation though is uniform and regular which makes things easier. If you're going to speak Spanish you need to take it seriously. You have to work at it, put in the hours. It won't seep in whilst you're at the local supermarket. Working at it means hundreds if not thousands of hours. A famous teacher of English here reckons that the average student takes about 3000 hours to get to a good level of English and I think those figures may well be right the other way around too.