How do I manage landing pages? How can I easily manage landing pages in Drupal 8? Do I need to created separate content types for landing page? Is there any other way to manage this with a single content type?
The landing pages I want to create are the following ones.

Blog landing page
Fields: banner title, body, image, blogs
Publication landing page
Fields: banner title, body, image, publications
News &amp; events landing page
Fields: banner title, body, image, news and events landing
Generally speaking, as @Kevin aknd @kiamlaluno have noted, it's probably easiest to make one content type Landing page and use that for all landing pages on your site.  I actually did a similar thing on a site earlier this year.
You noted that you wanted to do three kinds of landing pages with different fields.
So to implement this, you could add all of the fields to the Landing page content type:

banner title
body
image
blogs
publications
news and events

Then, when you are adding content of type Landing page, just fill out the necessary fields.
Then you can make a theme template for your custom content type.  Copy the file web/core/modules/node/templates/node.html.twig and copy it to your custom theme's templates folder and rename the file node--LANDINGPAGE_MACHINE_NAME.html.twig.
For example: web/themes/contrib/MY_THEME_NAME/templates/node/node--landing-page.html.twig (Note: If the machine name is landing_page, you need to replace the _ with -.)
You can then edit this file to display the fields however you want to create the three kinds of landing pages.  You can display a field like this: {{ content.field_blogs }} where field_blogs is the machine name of your blogs field, for example.
If other users who don't know the rules might mistakenly fill out all the fields when they shouldn't (for example, if a node should not have values for both blogs and news and events), then you can add custom form validation to check for this.