Migrations and migration api came as surprise to me, really powerful stuff. It can be used as a tool for one of import of whatever content you might have or for continuous import of some data from any endpoint. With core import module, for proper framework I would suggest adding migrate tools and migrate plus modules.
So what is it about, basically you need to write .yml configurations which tell drupal what to do. There is lots of documentations and I highly advise to check out migrate plus module and its section examples as there you will find good learning examples. You will here about ETL process, which is means extract, transform and load. But to make it simpler, what you will do is you need to define "source" which is extract part, then define "process" which is transform part and define "destination" which is load part in your .yml file. Most of the time you will spend on process part as other 2 are pretty straightforward.
Below is simple example how it all looks like, with data already embedded into a file so you know exactly what you are importing.
id: custom_article_migration label: 'Custom article migration' source: plugin: embedded_data data_rows: - id: 1 title: 'Page 1 title' content: '<p>Page 1 content</p>' - id: 2 title: 'Page 2 title' content: '<p>Page 2 content</p>' ids: id: type: integer process: nid: id title: title body: content destination: plugin: entity:node default_bundle: article
for the rest, head over the https://www.drupal.org/docs/8/api/migrate-api and try things out. Its very flexible and powerful.