It's only doing what Windows tells it. I can't say how it happens, but some products (only TCCLE v14 here) get multiple "Product" entries in the registry (see below). It also appears twice in the Control Panel's Add/Remove Programs.
There are about 4,000 lines of code in INSTALLED. I'm not going to detail them here; if you think that INSTALLED & Windows are not showing installed apps that they should, please post a bug report here & to Microsoft.
I get no duplicates from WMIQUERY. And a little research told me that the only products that get into the Win32_Product class are those installed via an MSI file. That seems to be also true of what's in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products. I don't know if the class has a different name in x64. Perhaps there's a different namespace for 32-bit info on x64 (???). If your system has WMIC.EXE you might play with it.
You might be able to list the WMI classes available with a script like this: CLASSES.VBS
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colClasses = objWMIService.SubclassesOf()
For Each objClass In colClasses