I don't think this is a matter for a poll. It does not depend on what people think of this, but, instead of what kind of experience you're trying to create for the player, what would work for YOUR GAME...
Candy Crush, for instance, makes you beat a level before getting to the next. It even includes the gates every 10 levels, which are even more blocking. It's a success and both mechanics are partly responsible for that success. Mario 3, as Aphrodite mentioned, has a less linear approach, allowing alternative paths and it works great for it! There are successful games that even give you access to all levels, without linearity, and others that give access to groups of levels and demand that you beat all levels in a group (in no specific order) before granting access to the next.
The approach you will use should be determined by what kind of experience you want to provide, not the opinion of the general public, since there's no RIGHT WAY, but ways that will work or not for YOUR GAME.