The single biggest mistake travellers make is booking flights to coincide with a festival date and then leaving accommodation until last. Morocco’s festival towns — Kelaat M’Gouna, Essaouira, Tafraout — have limited beds. In Kelaat M’Gouna, for instance, there are fewer than 20 guesthouses in town, most with under 15 rooms. During Rose Festival weekend the whole valley books out.
Option one: reserve a guesthouse in the valley three or four months ahead. Option two: base yourself in a larger city (Ouarzazate, 90 km west) and day-trip in with a private driver. The same logic applies to Essaouira for Gnawa — Marrakech is 2.5 hours away and has ten times the accommodation supply.
Dates shift. Moroccan festivals often tie to harvest conditions (the rose bloom) or the Islamic calendar (moussems). Treat the dates in this guide as indicative and verify at least a month before travel. Your riad host is usually the best source.