I favor the latter because it reduces my work, however marginally.
This reasoning is selfish - you're doing what's marginally better for you, but can have significant negative effects on the student, especially if they e.g. end up having to delay graduation.
What's more, it might improve the attitude of your students towards your class if there is more demand to take your class than you offer.
I don't know about others, but in my undergraduate experience, if I'm unable to take an elective class because of limited spots, I take some other elective instead. The next semester, I don't go back to take the original elective and move on to more advanced electives. If most students act thusly, this might not have as much impact as you would like - your students don't come back the next year.
On the other hand if it's a core class, then this shouldn't change anything since everyone has to take your class anyway.
Should you do it? That is a question about your personal moral values. Me, I'd take on as many students as I can until I hit capacity. Once every student's experience (or my other responsibilities) starts to suffer, that's the time to stop taking more students. Your values might differ: e.g. you could argue that the objection in the first paragraph above is invalid because if one accepts it, it would also be an argument to donate $10 to a charity such as Médecins Sans Frontières, since the impact on oneself is marginal but it can seriously impact the life of someone in a third-world country.