LIBGDX

i have been reading about libgdx and seems to be the better option to me ( i was about to use godot and libgdx, cause im moving from game maker studio 2, im a java developer so i had to choose between libgdx), so, the main class should be a GGAME, that game should have Screens, screenes is where each level reside, but there is another approach called Scene2D, bassically is to add an Stage and actors to a screen, so, my question is, what advantage have Stage over screen, what if i dont use Stage or actors, but screen and sprites?

They are not on the same level of abstraction:

->Screen does nothing for you except provide a template, it’s an interface for you to implement, it contains no logic.

->Stage on the other hand does transformation solving, sprite sorting, event management, hit detection etc etc for you. It’s a class like SpriteBatch or ParticleController, containing lot’s of logic, meant to be used inside your game/screen.

You could have multiple screens with each multiple stages in them, which is what you should probably do!
Use one Stage for your gameplay and another for your GUI. Then use multiple screens for your different levels.

What you don’t want to do is add and remove objects piece by piece from the stage yourself when you change levels, which is why you should use different screens with each their own Stage(s).

Read this: https://github.com/libgdx/libgdx/wiki/Scene2d