The months of Adar, Heshvan, and Kislev have variable numbers of days - either 29 or 30. Also, in leap years, we have a whole extra month. We don’t add Adar II, though, for leap year, we add Adar I. (This distinction is especially important because it governs when Purim happens!)
This has generated certain calculations, as outlined in the website HebCal (my source for today), which references Calendrical Calculations, by Edward M. Reingold and Nachum Dershowitz, containing even more calculations. These sources indicate that the calculations depend upon “the character of the year.”
If the death date is 30 Heshvan, the anniversary in general depends on the first anniversary. If for the first anniversary there is no 30 Heshvan, the yahrzeit will be on the last day before Kislev 1.
Use similar calculations for Kislev: if the death date is Kislev 30 and there is no Kislev 30 on the first anniversary, use the last day before Tevet 1.
If the death date is in Adar II, the anniversary is the same day in the last month of the Hebrew year, either Adar or Adar II.
Now, Adar I in a leap year has 30 days, but Adar in other years only has 29 days, so if the death date is Adar I 30, then - and this is tremendous - the anniversary in a year that is not a leap year is the last day in Shevat!