Visas are compulsory for all visitors and are obtainable at the airport when you arrive. However, it is advisable to verify this information independently with the relevant Tanzanian embassy, high commission or consulate before travelling to Zanzibar. It is best to get a visa before arrival to avoid any problems at entry.
As for vaccinations: Yellow fever inoculation certificates are prerequisites to entering Zanzibar if you travel from a country where yellow fever is present.