Just for the elect. This truth is hard for some people for a what seems like a good reason- It shows God treating people unequally. If Christ’s atoning work covers only some people, doesn’t this somehow make God unfair, treating one group of people one way, and another group of people another way? If people end up in different places, some in heaven and some in hell, then we can either attribute the difference to how God acts in our lives, or in how we act in ourselves. The latter choice has a great deal going for it. It absolves God of the charge of treating people differently. And no one in hell, of course, can complain about being there. They are there by their own doing.
The first choice, however, has three things going better for it. First, it means some people will actually go to heaven. Given the scope of our sinfulness, were God merely to make our salvation possible, (which is itself a limitation of the atonement) and then dependent upon our natural obedience to His call, none would come. Dead people do not respond to the call to repentance, unless they are first made alive.
The second advantage is that this is what the Bible teaches. Consider, for instance, Jesus’ High Priestly prayer. If it is incumbent upon God to treat all men the same, would it not be incumbent on Jesus to pray for all men the same way? What, then, are we to make of this- “I pray for them. I do not pray for the world but for those whom You have given Me, for they are Yours” (John 17:9). Here Jesus explicitly denies praying for those who are not His, while affirming that He prays for those who are His. Now if Jesus is unwilling to pray for those who were not chosen, on what grounds can we claim that He suffered the wrath of the Father for the sins of those for whom He would not pray? Remember that God explicitly affirms His liberty to treat some people differently than others- “For He says to Moses, ‘I will have mercy on whomever I will have mercy, and I will have compassion on whomever I will have compassion’” (Romans 9:15). What we try to free God from, the accusation that He treats some people one way and others another God proudly affirms.
There is a third serious problem with the notion that Jesus died for all sins of all people. Hell. If Jesus atoned for all sins, just for what are the sinners in hell suffering? Those who seek to “protect” God’s integrity by arguing He must treat us all the same end up, accidentally, affirming that God punishes the same sins twice, once on Calvary and again in hell. Some might object in turn that the sinners in hell are being punished for their unbelief. But that too is a sin, and thus would have already been punished. If all sins have been atoned for, they can’t be punished.
God owes man nothing save damnation. What He chooses to give, outside of damnation, is all of grace. Which means in turn that He treats His elect one way, and the reprobate another. All to the everlasting praise of His glory.