Difference between upgrade and migration
Seen as a process, upgrading will keep your existing database (where content and configuration lives) and update the code of your system. After the code is updated, all needed database modifications (configuration and content) will be performed.

Migration on the other hand, usually refers to content migration. That said, the migration process targets a Drupal instance different from the existing one, where the content will be transfered to.

A definitely good reference is the official Upgrade documentation page