Sapa has no single best month, only months that suit different things. Gold terraces in late September, mirrored water fields in May, cloud seas through the winter, and a rainy stretch that turns the trekking paths to clay.
Ninh Binh is open all year, but the difference between June and October is enormous when you are sitting in an open boat for three hours. This is what each stretch of the year is actually like, including the short rice harvest window everyone chases.
Cat Ba is busiest exactly when its weather is least reliable. This breaks the year into four honest stretches, with what each one gives you and what it costs you.