Allow me to clarify: Strictly speaking "Zanzibar" is not one island, but a bunch of islands. The one everyone commonly refer to as Zanzibar is actually Unguja Island, but there are other islands such as Pemba (further north) and Mafia Island (down south).
It should be worth noticing that generally the resident scuba-diving community in the capital Dar es Salaam usually prefer Mafia first for diving, then Pemba and lastly Unguja (what is likely here referred to).
From Mafia you can also catch the whale-shark migration and dive with them at certain times of the year.
I myself haven't been diving off Unguja or Mafia, but have many friends that have. I did Pemba island though, up north. Was amazing with a massive ridge along the coast line with a wall dropping from 4-6m down to 50-60m the length of the coast and crystal clear water.
Not saying Zanzibar (Unguja) isnt worth diving, just saying I would pick Mafia any day if I could.