Why do we have a leap day?  The simple answer is that we have an extra day every four years because it actually takes the earth 365 and a quarter day to make it’s complete orbit around the sun. Every four years an extra 24 hours have accumulated and an extra day is added to keep the calendar and the sun lined up.

Did you know that a leap year doesn’t actually happen every four years?  If the year is divisible by 100, but not by 400 that year doesn’t have a leap day.  So, the year 2000 had a February 29th as did 1600, but 1900 did not.  It doesn’t take the earth exactly 365 days and 6 hours to make the rotation.  It takes closer to 365 days, 5 hours, 49 minutes, and 16 seconds, leaving the leap day a little short of 24 hours.  So we lose three leap days every 400 years to keep everything in check.

While researching all this I wondered why leap day happens on February 29th.  Why does February have only 28 days anyway?   This explanation on the BBC website sums it up pretty well:

Why is February 29, not February 31, a leap year day? All the other months have 30 or 31 days, but February suffered from the ego of Roman Emperor Caesar Augustus, says Stewart. Under Julius Caesar, February had 30 days, but when Caesar Augustus was emperor he was peeved that his month – August – had only 29 days, whereas the month named after his predecessor Julius – July – had 31. “He pinched a couple of days for August to make it the same as July. And it was poor old February that lost out,” says Prof Stewart

For more information check out these articles:
http://en.wikipedia.org/wiki/Leap_year
http://en.wikipedia.org/wiki/Leap_day
http://www.bbc.co.uk/news/magazine-17203353