Dark Souls 2 is regularly criticised for (among many, many other things) the fact that enemies eventually stop respawning. The logic is that it's an RPG, and grinding is how you get the money/experience you need in order to progress, so to put a limit on that is just bad game design. But Dark Souls isn’t just any RPG series. Games like Phantasy Star or Pokemon don't limit enemy respawns because that’s how you progress and get better/stronger. But that's not how progression works in Dark Souls. As annoying as the phrase may be, it is “get good” not “get to level 99 and then absolutely destroy everything” for a reason.
Levels net you very, very little in Dark Souls, and grinding for them is generally a waste of time. New players would be far better served trying and failing at what they’re struggling with and learning from that than from fighting the same easy enemies a million times to level up. But when you’re coming from pretty much any other popular RPG, it's an understandable mistake to make. So how does a game teach its players how to engage with it in a way that will actually encourage their progression? The original Dark Souls didn’t really. But Dark Souls 2 attempts to do so by putting a cap on how many times enemies respawn. That cap is still incredibly high (15), so if you’re really strapped for souls to buy some life gems or something you’re still okay, but it’s enough that if you’re seriously grinding, the game will stop you, as if to ask if you’re sure this is the best way to progress.
Is this the reason people vocally dislike the game? No. But it’s pretty emblematic of the way that people brush off the game without actually considering why it does the things it does, and what we can learn from it.