Why might a contract stipulate a duration for a job rather than a commencement and completion date?

This is common in sub-contracts where it is often the case that a main contractor does not known the date upon which a sub-contractor will be required because of changing circumstances on site.