It is "very personal." Personally I find neither Madrid nor Barcelona attractive cities. However if you are in Madrid I would visit Toledo. Wonderful place full of history.
Also Seville, Grenada and Cordoba. Again similar to Toledo a must (in my humble opinion).
If you like resorts I enjoyed Marbella. 1 hour north of Marbella there is a wonderful old town and I forgot the name. It starts with an R I believe.
I just met someone who told me that his friends got attacked in Seville by a gang at 4 a.m. His friends face was smashed up. You have to be careful where you walk at night. Though I presume that is the same everywhere these days.