How can I set the site root page to a landing page instead of user login?
Under /admin/config/system/site-information simply set a default front page which can be a node /node/123 a Views page /my-view or any other custom page /foobar/landing-page.

If you leave this empty it falls back to /user/login (which when you are logged in redirects to your user page).

To have the "Promoted to front page" setting in nodes respected set the default front page under /admin/config/system/site-information to /node. This is the path to the front page View you can edit yourself. This view by default displays node teasers and respects the "Promoted to front page" and "Sticky at top of lists" flags. You can have multiple nodes at the same time to be promoted and/or sticky.