The problem is that people start a career as a J2EE programmer in their 20s and expect to coast and never update/learn new skills. This will serve you fine for a decade or two, but if you're in your mid 40s and you're only comfortable with technology from the late 90s, your job prospects will be limited.
In order to have a long career in tech, you need to constantly be learning new technologies, frameworks, and languages. If you don't, you can coast for a while, but don't act all surprised at 50 when you get laid off and can't find any work. Would you honestly expect to be able to find work as a VAX/VMS engineer now if that was what you started working with right out of college and never learned UNIX, Linux, or Wintel?