Running composer install will:
- Check if a composer.lock exists
- If not, perform a composer update to create one
- If composer.lock exists, install the specified versions from the lock file
Running composer update will:
- Check composer.json
- Determine the latest versions to install based on your version specs
- Install the latest versions
- Update composer.lock to reflect the latest versions installed
Hope you understand all asked concepts from above simple flow.