Migrations in Drupal 8 are very stable and highly extensible. Still there are many cases though which would require custom code. I came accross one such scenario recently and will share some knowledge here which I gathered while working on it.
One - most of the examples shared are around process plugin or the plugins available in migrate (part of Drupal core) / migrate_plus modules. Ones that I browsed: