If you are using the community SharePointInstaller to deploy your SharePoint solutions you should be aware that it will not overwrite customized content types and site columns.
So if you allow admins to customize your content types and site columns and you install a new version of your solution which has the same (or modified versions) of your site columns and content types, then the customized versions will not be overwritten by the ones from your new solution.
If you want to deploy your new versions on the top of the customized ones you will need to deactivate the features that install the content types/site columns using the -force switch of the deactivatefeature command. This will uninstall the customized versions. After that using the SharePointInstaller will work fine.