Unexpected side effects occur when multiple versions are in use.
When including libraries and external packages in your application, you need to be careful to specify a version. Package manager software makes it very easy and sometimes even encourages the use of the most recent version of a package. This is done with good intentions, thinking you will want the most current version to take advantage of the latest fixes.
The problem is that this can lead to having different versions used in your various environments. If the development environment uses one version, the testing environment using another, and the production environment using a third, you may experience unexpected behavior. This also leads to bugs that are very hard to track down, as they often cannot be reproduced in other environments.
Thus it is better to nail down the version. You should know exactly what version you deployed in your production environment. This also leads to extra work, as you will need to examine your libraries periodically to see if you should update them to a newer version. The difference is that these updates will be deliberate, voluntary choices made on your own schedule.