engine key in package.json often specifices versions of node, npm, yarn or other modules. If the versions are specified here, then the user does not need specify these values in the
machines key in circle.yml.
Often times applications already have versions specified here so when updating versions developers have to maintain another place where the version lives. This reduces the chance of local vs. test environment failures.