London is a year-round destination with no bad season for visiting, only different trade-offs.
Spring (March–May) is arguably the best time to go: the days are lengthening, the parks are coming back to life, and the tourist crowds have not yet hit their peak. April and May can be genuinely lovely — Kew Gardens, Hyde Park, and the South Bank in particular. Rain is always possible but rarely sustained.
Summer (June–August) is London at its most energetic: long evenings, outdoor dining, the parks full of sunbathers, major events including Wimbledon, the Proms, and various outdoor festivals. The downside is that the city is extremely busy in July and August, accommodation prices peak, and the Tube becomes a reliable misery on hot days (most of the network lacks air conditioning). May and June are better summer alternatives.
Autumn (September–November) is underrated. The tourist crowds thin noticeably in September, prices drop, and the cultural season — theatre, galleries, exhibitions — gets properly underway. October brings changeable weather but the city feels more itself with fewer visitors.
Winter (December–February) divides visitors. December in London is genuinely atmospheric: the Christmas lights across the West End, carol services in the churches, ice rinks, and a city that takes the season seriously. January and February are the quietest and cheapest months to visit, with lower accommodation prices and shorter queues everywhere. Cold and grey, but the museums and theatres are as good as ever.
The one thing that never applies to London is the idea that bad weather is a reason not to visit. The city is built for indoor culture.