I visited Gibraltar a couple of years ago myself, when on a trip to Southern Spain. Because I love the UK, I have to say that Gibraltar disappointed in most aspects. I thought the area around the "rock" was shabby, the beaches were dirty and there was an air of fakeness to the whole place. It looked like what it is-trying to reproduce the UK is a totally foreign land-trust me, I am of Spanish descent, and Spaniards and Brits are nothing alike! Makes the vibe of the place feel weird, but you probably wouldn't understand that if you didn't speak Spanish and English fluently, like I do. And, No, I am not a Spaniard, I am American, but I happen to love any country on the Meditteranean.
Shopping was OK, outside of the crappy tourist "chotshky" shops and the hotels are expensive and pretty badly run. The apes are a draw, it does have some history (albeit lacking compared to good ole England) but the biggest reason to visit the area are: 1. close proximity to Andalucia 2. close proximity to Morrocco. Both of those places, I recommend you visit and spend time in. Andalucia is a gem, outside of the actual beach areas plagued with tourists. Ronda, Seville, Arcos, The Alhambra, Cordoba, etc. are all worth a trip to the area. If you want beach, go to Greece or Portugal, not the Costa del Sol, in my opinion, they're not worth it.
Hope that helps!