If Add/Remove Programs, and ProgramsandFeatures data is collected in hardware inventory, what is the use of software inventory? Software inventory is actually just a very old carry over from the early days of SMS. It scans the hard drive for executable files (installed or not) and reads their header data, and then sends all that data back to CM.
The key most CM admins have learned here is that you often are asked to find a file on computers that isn't always related to a program. For example, you may be asked to report all machines with
.mp3 files on them. Hardware inventory can't do that natively.
Because software inventory can slow a computer while scanning, admins like to run it as little as possible. They also like ...