As always, the answer will be: it varies. A few main points to consider:
- If you only have single channel memory, then you won't be losing anything by upgrading and staying with single channel
- Dual-channel memory makes a big difference in speed if you are using your CPU's integrated graphics (IGP) for 3D gaming, but aside from that, differences are minimal outside of a few, specialised applications.
- Having too little memory will make things a lot worse than having more, slower memory
Whether you'll need the extra 4GB really depends on what you are doing, and you've not provided enough information to really say. If your programs regularly add up to more than 6GB of memory in total then I would say it will be of benefit - any unused memory is used as cache to speed up other things.
Your decision would ideally be based on running everything you usually do and then looking at the peak commit value in your OS to determine how much memory is used. But in practice, given the small difference in price, just go for the 12GB. There's really no harm, and ultimately, modern processors can use 8 out of 12GB in dual-channel mode anyway, meaning going for 12 is win-win.
[Edit]
Easiest way to view current commit size in Windows 7 is task manager. Technically peak commit would be a better figure but it's harder to get hold of.
Simply put, commit size is just the total amount of memory that has been allocated. Not all of it may be in use but all of it must be set aside in case it is required; if all programs were to use all the memory they've requested at the same time, this is how much you would require.
Under Windows 8 and Windows 10 it's much the same: