I observed that Cordova changes the version of plugins in package.json. So if I set a static version for a plugin in package.json and add a platform (e.g. android), Cordova installs the correct version but updates the version of the plugin in package.json with a caret(^).
Before adding a platform the package.json looks like that
After adding a platform the package.json looks like that
and the installed plugin has the version 1.1.9.
The next time after removing my plugins and platforms folder Cordova will install that plugin in version 1.2.1 because of the caret(^) in package.json.