I just learned about the WMI class "win32_product", which shows much of the same info as "Add/Remove Programs". It works like any other WMI class. I will use it to find the version of a program installed on several dozen machines and whether any are out-of-date, like this:
Get-WMIObject win32_product -Filter "name='$programName'" -computername $comps | Select-Object __Server,identifyingnumber, name, version | Group-object version
Visit this Technet page for more info on using WMI classes: http://technet.microsoft.com/en-us/library/ee176860.aspx