I'd normally separate them on a larger drive, because I couldn't be bothered doing simple housekeeping ie: like ensuring that programs are not caching config/resume files to the OS drive ...
However, 120GB for a Windows 7 install with programs is already pretty tight, and by breaking the partition up, the chance of having twice the unusable space is higher (ever have 2 partitions with 3GB left, and you need to install/save something that's 4GB? Arrrrrrrgh!!!).
And as mentioned, for a Windows install, nearly all programs need a full reinstall regardless, if you windows OS gets pooched, because of the history of extremely poor file management strategies .. programs can dump files everywhere ... and so programs have installed files everywhere .. including the windows system directory.
In linux, you break up your programs to a separate partition from the main OS, because all necessary files (except dependencies) are installed in the programs directory .. and user specific configuration files are stored in the users "Home" directory (which should ALWAYS be a separate partition).
Following a reinstallation of linux (usually due to OS upgrade, rather than failure) everything works again without a full reinstall .. but that's a huge generalisation .. it seems that major distro updates break 1/2 of everything randomly for no discernible reason