Tomorrow is 29th February, a leap day in the leap year of 2008.
Refreshing the logic for determination for leap year:
If a year is divisible by 4 but not by 100 --> Leap year
If a year is divisible by 400 --> Leap year
The Gregorian calendar has 365 days in a year. But a solar year has 365 plus a little less than 1/4th day (i.e. 365 days + little less than 6 hours) in a year. In four years, the Gregorian calendar would fall behind by almost 1 day. Thus, it compensates for that "loss" by adding an extra day (29th February) every four years. However, on this pace Gregorian calendar would move ahead of solar year because it's adding more (1 year) than it should (little less than 1 year). So to compensate for that, it does not add 1 additional day after every 100 years (except for every 400 years!).
Even after doing all these adjustments, it doesn't completely match up to the solar cycle. But it's close enough, we will be off by 1 day in about 8000 years!
Why in February? March 21st is the common date for vernal equinox. This happens when the Sun is positioned directly in front of the Earth's equator (No shadow at noon on the Equator). The vernal equinox marks the beginning of Spring in the Northern hemisphere. To make sure that the vernal equinox happens exactly on (or as close to as possible) March 21st, the leap day is added in the prior month (i.e. February).
The Hindu calendar, which follows the Lunar year/cycle, has similar mechanism to compensate for the "lost" days. The lunar year is around 10 days shorter (approximately 355 days). The Hindu Calendar adds an extra month (called Adhik Maas) after every 3 years to match with the Lunar year.
The Islamic calendar, on the other hand, leap years or months are not used as they are forbidden by the Qur'an.