This had happened to me a lot recently. Sometimes conflicts will occur if you rename or move the solution. There are risks in force installing solutions as it would be overwriting the existing wsp in the solution gallery. Which means, once installed, it will also overwrite the dll, usercontrols, script or any other assets included in your package.
A big consideration is if you have a feature receiver which overrides the FeatureInstalling / Activating method (If you have auto activation set), this could overwrite lists or fields depending on the logic you have in place. Personally, I turn this force Install on as well since I know exactly what my package includes. In a development environment this is not a risk for me as I am constantly deploying solutions.
I can potentially see a risk for you in that if you are unaware what changes have been made to any files, the most up to date ones could exist in your hive and not the solution. For example, if someone was to update a Script or CSS folder residing in /_layouts and you force install a solution, you will loose those changes.
To be safe, and without doing a complete analysis on all of your solutions, I suggest backing up all WSPs in the gallery so they can be easily rolled back if there are issues. I use the following script to transfer WSPs between environments without using Visual Studio or for backup purposes (written by Juan Carlos González) :
If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{ Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell }
$host.Runspace.ThreadOptions = "ReuseThread"
#Function that gets all the WSPs (Farm Solutions) stored in the farm
function GetAllWSPs
{
write-host "Started the process of extraction solutions in the global solutions catalog ...." -foregroundcolor yellow
try
{
$spSolutions = Get-SPSolution
foreach($spSolution in $spSolutions)
{
Write-Host "Extrayendo la solución $spSolution" -ForegroundColor Yellow
$spSolutionFile=$spSolution.SolutionFile
$spSolutionFile.SaveAs($ScriptDir + "\" + $spSolution.DisplayName)
}
}
catch [System.Exception]
{
write-host -f red $_.Exception.ToString()
}
}
Start-SPAssignment –Global
$ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
GetAllWSPs
Stop-SPAssignment –Global
Remove-PsSnapin Microsoft.SharePoint.PowerShell