Whale Shark Lodge is the best accommodation in the village of Kilindoni (I am not speaking about hotels on the other side of the island, inside the Marine Park, where the park fee must be paid daily).
It is located near the airport, on the outskirts of the village. They have comfortable self-contained and non self-contained houses (note, both are at the same price, about 20 USD).
Breakfast might be on a smaller side, it includes just fruits, tea/ coffee and bread, but it's possible to order additional things available, like eggs, for example.
Food is cheaper at the local eateries in the village center, of course.
They make reliable whale shark watching trips, but check the fins before you start, some were broken as I visited.
The trip can be cheap, if there are many people participating.
On one of the days I wanted to go, but there were no other people, so I decided to go alone and paid around 40 USD for the whole boat. It is 15-20 USD per person, if there are more people.