I had a great stay at Karafu which is on the opposite (eastern) side of Zanzibar about an hours drive from Stone Town. I think most of the accomodation within Stone Town is more 'backpackers' as opposed to 'beach resort'. If you haven't been to Zanzibar before, Stone Town isn't large and you can cover quite a bit in a day or two. I'd recommend staying outside of the town and catching a shuttle bus in. Some things you should do while you're there:
Safari Blue (about 30min from Stone Town) best snorkling I've ever done.
http://safariblue.net/wp-content/uploads/2014/03/SafariBlueBrochure.pdf
The Markets
Prepare your nostrils. Everything from safron and nutmeg to dried octopus and cow heads on hooks.
Christ Church - rather run down but if you appreciate architecture / history of the slaves, you'll find this interesting.
https://en.wikipedia.org/wiki/Christ_Church,_Zanzibar
Spice Tour - there are quite a few different ones. This was one of the best/most interesting things I did whilst in Zanzibar.
Zanzibar Doors - throughout town they have the most incredible carved wooden doors. makes for some good photos.
Freddy Mercury's house - nothing really to see except for his front door.
Take as much anti-mosquito stuff as you can. The anti-mozzie bands from Sportsmans or Mr Price sport worked surprisingly well. All the tours work in dollars. Try get some other guests to join from your hotel and you can often negotiate a discounted 'group rate'. The markets etc. use their local currency. Also, when booking your accomodation, try get an 'all inclusive' or 'drinks inclusive' deal. You'll get a range of cocktails and local beers for free and untapped at your hotel. If you drink like me then this could save you thousands.