I have been to Tanzania quite some time. Mbydya Island, just off the coast of Dar-es-Salaam was absolutely wonderful back in late 80's and early 90's (before the coral bleeching started in the Indian Ocean). Today it is still worth a visit, eventhough it is not as beutiful as it used to be.
Zanzibar has a lot of nice places for snorkeling and scuba. I would say especially on the northeast coast, eg Matemwe Beach. Even better is to go out to the reef of Mnemba Island just about 30 min ride from Matemwe. This reef is for sure comparible with the best places in for example The Maldives and The Seychelles.