If you let down a customer in the now, they probably won't help you make money in the future. That makes sense in the long run. But there is also an aspect related to projects in the short run that weighs in against the growing expectation of long hours in such environments as software development. If the organization carries out a downsizing every time it identifies some unused capacity sitting around, the result is a very heavily loaded remaining work force. Unavailable capacity is required to take on new initiatives as they arise.
Protective capacity is required to allow a project to recover from a setback.
Projects are, by nature, uncertain. Things go wrong. Unexpected things happen. The system may need the reserve provided by having a few extra people on the rolls. The system also needs the reserve that is inherent in the use of overtime and weekends.