For example, Tzom Tammuz is always on the 17th of Tammuz, but in the year 5772 (2012 C.E.) it is on the 18th of Tammuz. The answer has to do with Shabbat:
“The Hebrew year contains several fast days that, though specified by particular Hebrew calendar dates, are shifted when those days occur on Saturday. The fast days are Tzom Gedaliah (Tishri 3), Tzom Tevet (Tevet 10), and Tishah be-Av (Av 9). When Purim is on Sunday, Ta’anit Esther occurs on the preceding Thursday… Each of the other fast days, as well as Shushan Purim (the day after Purim, celebrated in Jerusalem), is postponed to the following day (Sunday) when it occurs on Saturday.”
Reference: Calendrical Calculations, Edward M. Reingold, Nachum Dershowitz, Cambridge University Press, 2001, page 109.