At least in the US, there seems to be more than enough money to keep several branches going. The military just got $20 billion extra this year. Foreign aid is around $45 billion a year.
They inevitably fall into the trap of promising that benefits will be paid for in the future.
At a national level that is probably okay, at a municipal level it means that people that leave a city get services that they don't pay for, and future residents pay for services they didn't benefit from. It's a terrible alignment.
No, I'm making a particular point about public pensions. They should be fully funded during the vesting period or not exist, except maybe at the national level.