The island's few hotels are basic. Some have rooms with private bathrooms and flush toilets; all are inexpensive (about $10 a night).
The Taj Socotra (no relation to the India-based chain) in Hadibu is simple and clean and has a popular outdoor restaurant; there's also the newer Al Mohet and, outside of town near the airport, the Chalet Socotra.
Camping is an ideal way to sleep, since the island's main ecological sites are one or more hours' drive away from Hadibu; you can arrange to rent gear on the island.