TABLE 1: Although the reasons for initial and continued use of two-digit date fields during the past 30 years are numerous, these five are the most common culprits.
Some Reasons Behind Two-Digit Date Field Problems
Applications Longevity Few programs written in the 1960s and 70s were expected to be around today. It was generally assumed that these programs would be replaced before the year 2000. But even with new languages, this problem can still exist.
Backward Compatibility Users demand that new software releases be compatible with old releases, i.e., an old release has two-digit year so the new release has to have two-digit year. Users do not want to convert data and files (cost and convenience).
Code Reuse of Historical Data
Economics require code reuse. Programmers are directed not to reinvent the wheel, so they write new systems that incorporate existing data rather than use new techniques to avoid propagating the problem.
User Demand
For time and labor reasons, users continue to prefer filling in two digits rather than four.
Creative Programming
Engineers have used dates for a myriad of technical reasons (end of file, expiration dates, pointers, etc.). These factors contribute to the magnitude and subtleties of the year 2000 problem.
Source: Raytheon Engineers & Constructors