The FX-8120/8150 both have a full 8 cores, however the resources with the least demand on them were reduced in number and became shared resources between 2 cores.
Its like a house. You need 1 bedroom for each older child, however, they can all use the same kitchen, living room, back yard, etc. They don't each need their own kitchen, living room, or back yard.
It is entirely possible to cut each of those rooms up and dedicate part of them to each child, but generally speaking its just better to use the whole thing as a shared resource.
Its possible that there will be some congestion if each user is trying to maximally utilize the shared resource for its own purposes, but that is the nature of sharing resources.
The bulldozer chips are the processor equivalent of that.
I am not going to say that AMD is doing the right thing by sharing resources this way, but who knows maybe they are.
The bulldozer cores aren't competitive right now with Intel's non-sharing architecture and it isn't entirely clear why that is. Some blame the sharing of resources, but I have never seen anything conclusive on that front myself.
Regardless, anything you have that will recognize physical cores will register the FX-8150 as an 8 core processor, not a 4 core processor with hyperthreading.
The problem a lot of the time is just that programs have to be programmed specifically to use the additional cores or they can't use them. If you are running a 2 core program then it doesn't matter if you have 32 logical cores or any other number higher than 2.
The overwhelming majority of the time, programs aren't written to use 8 cores.
If you logically shut off 4 of the cores in the BIOS or whatever, it does allow you to OC the remaining cores to a higher clock rate than they could be with the full 8 in use. So if your program is limited to 4 and you want to get the most out of it then do that. If your program is limited to 2 cores, then shut off 6 of them and crank the OC higher than you could with 4.
In that regard, you are absolutely right.
If, however, you aren't going to be OCing anything, then there is really very little to be gained by shutting off cores. You might as well just leave the whole 8 of them on then. At the very least that would let Windows offload stuff that would otherwise fall onto a more heavily used core onto one of them instead.
Just doing nothing if you aren't OCing is all upside.
So basically, there really is no right answer to the question based on what you have given us. I would just leave it like it is, though.
Each resource is only shared with 2 cores at the most, so it is theoretically possible to shut off every 2nd core and make an 8120/8150 not have to share anything, however, I seriously doubt you would see major performance gains by doing this.
It is also not clear that it would be easy to accomplish this, either. AFAIK, AMD doesn't tell you which cores are paired with which others to help you more easily shut off just one out of each pair.