Both game engines and game libraries are integral parts of the game development process. However, they serve different purposes and come with their own advantages and disadvantages.
A game engine is a software framework designed to aid the creation of video games. They provide a suite of visual development tools for designing and building games. These can include physics engines, graphics rendering, animation, scripting, artificial intelligence, networking, and more. Some examples of popular game engines include Unity, Unreal Engine, and Godot.
On the other hand, a game library is a set of functions or routines that can be used by a programmer to perform certain tasks. Unlike game engines, libraries don't provide a specific design or structure for developing a game but enable you to have more control over how everything works. SDL, Allegro, and SFML are examples of game libraries.
In conclusion, the choice between using a game engine or a game library largely depends on your needs and requirements. If you need more control over the underlying systems and don't mind building many components from scratch, a game library might be the right choice. However, if you prefer having a pre-built system with lots of tools that can speed up development, a game engine might be a better fit.