Roses is nice too, almost in France. Certainly as likely to hear French spoken around the town as Spanish or, more likely, Catalan
next door is Empuriabrava, which appears to be a load of micro-marinas for big yachts, and bugger all else, although there is a very old (Roman?) fort on the outskirts
Figueras is inland a way, has a Salvador Dali museum if you're into modern art.
We stayed in Santa Pau, near Olot, quite a lot further inland, for 2 weeks in 2001. Sat on the beach in Roses when the World Trade Centre was hit. Not pleasant.
Santa Pau is in La Garrotxa national park, lots of extinct volcanoes & plenty of good walking – probably good MTBing too. Pretty little medieval fortified village but not worth a visit UNLESS your passing through on the way to Banyoles from Olot, or back