This becomes a problem when spanning centuries. Another possible error deals with leap years. So 1800 and 1900 were not leap years, but 1600 was and the year 2000 will be. This rather arcane fact can be missed by programmers when coding their date routines, which can also lead to problems. The most obvious effect is that dates will be incorrect.
Any program dealing with financial data can be particularly insecure.
The degree to which incorrect dates can affect other applications varies. The most dangerous side-effects in these cases are the unknown ones. For example, a spreadsheet might be Y2K compliant in that it handles dates correctly, but if the operating system feeds it dates that are not compliant, the spreadsheet is bound to fail.