May, June, and September are the best months. The water is warm enough to swim, the kitesurfing wind is reliable but not yet relentless, and the town has not been overtaken by Sevillanos on holiday. July and August are noisier, hotter, and the Levante can blow for ten days at a stretch without dropping below 35 knots — a problem if you came for the beach rather than a sail. Winter is quiet, occasionally stormy, and excellent for whale-watching and long clifftop walks.
The Feria de Tarifa, the town fair, runs in the first week of September; the Romería de la Virgen de la Luz processes out to a coastal chapel in early September too. Either is worth timing a visit around if you want to see the town in full local mode rather than international resort mode.