Suppose you have a cpanfile with:
requires DBI, 1.600;
requires Plack, == 1.0011;
and then run carton install to get DBI 1.610 (the latest at that
time) and Plack 1.0011 (as specified in the requirement).
A few weeks later, DBI and Plack have been updated a couple of
times. Running carton install wont update the versions, because
the installed versions satisfy the requirements in cpanfile.
Running carton update will update DBI to the latest version, say
1.611, because the version still satisfies the requirement. However,
it wont update Placks version, since whatever latest version on CPAN
will not satisfy the Placks requirement == 1.0011 because it wants
an exact version.