I certainly wouldn’t go to Zanzibar for a few weeks. We visited about 18 months ago when we ended a trip to Tanzania with a week there which was more than enough time. It’s nowhere near as idylic as some of the other Indian Ocean islands I’ve visited and there’s not much to do. The beaches we visited were pretty dirty in comparison with other places I’ve visited and I was suprised by the amount we got hassled (far, far more than we did on the mainland). Stone town is worth a look, but it’s pretty touristy and I think you could see everything of interest in a day.
We did have an amazing night on Chumbe Island[/url] (a coral conservation park and island off the south coast) which I highly recommend visiting. Expensive, but worth every penny. The snorkelling (tourists aren’t allowed to dive) was some of the best I’ve ever done if you’re into marine life.
I’d consider it alongside a trip to the mainland if I were you, maybe combine it with a safari?
Depends what you’re looking for and your budget, but also consider Pemba – it’s a lot quieter and unspoilt from what we saw.
B