Also, you might want to add a third option for "prestige" systems, where there is a max level but you can start over and keep track of how many times you've done so. They're an interesting in-between.
Is it like a New game + ?
I suppose the restart over number is infinite then ?
Its a very popular system in first-person shooters. Essentially, you go through a progression of unlocking all the weapons, skills, etc. Then when you reach max level, you can continue leveling by doing a soft reset: you go back to level 1 and go through the unlock progression again. Some systems have rewards for this reset or "prestige," like giving you an extra loadout slot or allowing you to permanently unlock one of your favorite options, but you also just do it for the fun of it. You still have something to do after you hit max level.
The advantage of this kind of system is that it allows you to have a tangible progression system that can be looped (that is, doesn't stop rewarding you after a max level.) The disadvantage is that you're technically undoing progress and, sometimes, the only reason to do that is for pride's sake.
Specifically with your example, I would probably avoid the "prestige" type of progression if its single player. My gut would be to go with an infinite level system. If I've gotten really good at a game, I don't want to go back to using a vanilla character; its a bit different in multiplayer games like shooters because even with "weaker" weapons you can still outplay a human opponent. I would have probably much less interest in outplaying an arbitrary game mechanic.