Quem nasceu antes ou no início da década de 90 talvez se lembre do bug do milênio (erroneamente chamado assim já que o milênio só começou de fato em 2001).

O problema que esperava-se acontecer na época e que no fim das contas houve mais histerismo do que problemas reais, era devido ao fato de computadores armazenarem anos em datas considerando somente os dois últimos dígitos. No caso, primeiro de janeiro de 1999 era representado 01/01/99, e internamente era adicionado o prefixo "19" ao ano (1999). Então, da forma como os programas foram desenhados à época, o medo era de que ao adentrar o ano 2000, em vez de primeiro de janeiro de 2000 ser representado como 01/01/00 com o "00" sendo o ano 2000, o que iria acontecer (e aconteceu em alguns casos) seria "voltar" a data ao ano de 1900.
Eu poderia detalhar mais o bug do milênio mas o parágrafo acima foi só uma contextualização para a curiosidade deste tópico que é o bug esperado para acontecer em 19 de janeiro de 2038.
Para quem é leigo em computação, computadores só entendem código binário, ou seja, "zeros" e "uns". Computador não lê texto puro, não entende número de base decimal como decimal, tudo é convertido para código binário.
O tópico também não é pra ensinar código binário mas apenas para fins de ilustração, o número 22, na base decimal, que entendemos como "vinte e dois", em binário significa 10110. O número 2000 em binário vira 11111010000.
Outro fato interessante pra entender o bug de 2038 é que o computador usa pacotes de dados para comunicação. Um bit é a unidade mínima de informação, que pode ser somente 0 ou 1. Já um byte é um octeto de bits. Então um byte pode ser representado como 8 bits. Exemplo: 11111010.
O problema que pode acontecer em 2038 é que muitos computadores e sistemas embarcados armazenam datas em formato de segundos em uma estrutura de dados que comporta somente 32 bits (ou 4 bytes). E, além disso, nesses sistemas, o "ano 0", ou a primeira data registrada, é 1º de janeiro de 1970. Ou seja, no dia 1º de janeiro de 1970 foi dado início a essa contagem de datas.
O problema de armazenar datas em uma estrutura de dados de 32 bits é que não há como ter datas infinitas. Em algum momento os 32 bits não serão suficientes para armazenar datas ou horários ORUTUFs, e esse momento é em 19 de janeiro de 2038. Seria como eu só ter a possibilidade de contar até 200 mas precisar continuar contando números além como 201, 202...
O gif abaixo ilustra bem o problema:

Ou seja, quando computadores que usam esse sistema de data chegarem às 03:14:07 na terça-feira 19 de janeiro de 2038 a data deles irá retroceder, dependendo da implementação, para o ano 1901 ou para o ano 1970.
Com isso, qualquer programa em um computador ou sistema embarcado que dependa da data do sistema poderá não funcionar a contento. Exemplo hipotético: imaginem um portador de marca-passo que precise trocar o marca-passo em uma data definida, um problema desse afeta o sistema do marcapasso e fica impossível para o médico saber em quanto tempo deve trocar o aparelho do paciente. É algo mais ou menos nessa pegada.
Para algumas fontes é um problema de solução fácil, para outras nem tão fácil assim, mas fica a curiosidade no ar sobre esse fato.
Para entender mais a fundo:
Year 2038 problem - WikipediaWhat is the Year 2038 problem? | HowStuffWorks