When people talk about Game Development, most of them think about Unity, Unreal Engine, or another famous Game Engine.
As for new developers, Game Engines are really great, because they are higher level, they include basic pieces to make games (graphics renderers, audio engines, ...). They have Level editors and Scene Graph (data structure, in which game data is stored in). Also, they do most of the 'dirty work' for you and in some cases, you can make a game without writing a single line of code (CopperCube engine). But it's not always a good idea to use a Game Engine for making games.
There are lots of games, that need their own logic, their own behavior, etc. And developers have 2 main choices. Either force tools to behave the way they need or create their own. (Actually, there is a 3rd option as well - quitting).
In cases, where they want to make something of their own, customized for themselves, Game Frameworks come in handy. Game Framework is a collection of libraries and tools. Libraries are usually created to solve a single task (such as physics, graphics, tweens, etc.).
Unlike Game Engines Game Frameworks make you code a lot. But it's a very good idea to use Game Framework if you want to practice coding.
And if you're experienced enough, you can bring together different tools and libraries (or create your own ones) and make something like Game Engine, from Game Framework.
Summing up, I will recommend Game Engine if it fits your need. Otherwise, I recommend Game Frameworks, because it will help you with coding practice and eventually will push you into creating something of your own (library, tool, or something like that).